Skip to content

Comment démarrer enumerate() à 1 en Python

En Python, vous pouvez obtenir l’élément et l’index (count) à partir d’objets itérables tels que list et tuple dans la boucle for avec la fonction intégrée enumerate().

Cet article décrit le contenu suivant.

  • Comment utiliser énumérer()
    • Boucle for normale
    • boucle for avec enumerate()
  • Commencer l’index à 1 avec enumerate()
  • Définir l’étape avec enumerate()

Consultez les articles suivants pour plus d’informations sur la boucle for et comment utiliser enumerate() et zip() ensemble.

Comment utiliser énumérer()

Boucle for normale

l = ['Alice', 'Bob', 'Charlie']

for name in l:
    print(name)
# Alice
# Bob
# Charlie

boucle for avec enumerate()

En passant un objet itérable à enumerate(), vous pouvez obtenir index, element.

for i, name in enumerate(l):
    print(i, name)
# 0 Alice
# 1 Bob
# 2 Charlie

Commencer l’index à 1 avec enumerate()

Comme dans l’exemple ci-dessus, par défaut, l’index de enumerate() commence à 0.

Si vous voulez commencer à partir d’un autre nombre, passez le nombre au deuxième argument de enumerate().

Commencez à 1 :

for i, name in enumerate(l, 1):
    print(i, name)
# 1 Alice
# 2 Bob
# 3 Charlie

Commencez à l’autre numéro :

for i, name in enumerate(l, 42):
    print(i, name)
# 42 Alice
# 43 Bob
# 44 Charlie

Par exemple, cela est utile lors de la génération de chaînes de nombres séquentiels à partir de 1. Il est plus intelligent de passer le numéro de départ au deuxième argument de enumerate() que de calculer i + 1.

for i, name in enumerate(l, 1):
    print('{:03}_{}'.format(i, name))
# 001_Alice
# 002_Bob
# 003_Charlie

Définir l’étape avec enumerate()

Il n’y a pas d’argument comme step pour spécifier l’incrément à enumerate(), mais cela peut être fait comme suit.

step = 3
for i, name in enumerate(l):
    print(i * step, name)
# 0 Alice
# 3 Bob
# 6 Charlie