Dans un Python for
boucle qui itère sur une liste, nous pouvons écrire:
for item in list:
print item
et il passe soigneusement en revue tous les éléments de la liste. Existe-t-il un moyen de savoir dans la boucle combien de fois j'ai bouclé jusqu'à présent? Par exemple, je veux prendre une liste et après avoir traité dix éléments, je veux en faire quelque chose.
Les alternatives auxquelles j'ai pensé seraient quelque chose comme:
count=0
for item in list:
print item
count +=1
if count % 10 == 0:
print 'did ten'
Ou:
for count in range(0,len(list)):
print list[count]
if count % 10 == 0:
print 'did ten'
Existe-t-il un meilleur moyen (tout comme le for item in list
) d'obtenir le nombre d'itérations jusqu'à présent?
Réponses:
La manière pythonique est d'utiliser
enumerate
:la source
D'accord avec Nick. Voici un code plus élaboré.
J'ai commenté la variable count dans votre code.
la source
enumerate
lestart
paramètre facultatif de pour commencer à énumérer avec 1 au lieu de 0, mais j'utiliserais alors le nom de l'OP à lacount
place deidx
.Je connais une question plutôt ancienne mais ... tombé sur autre chose donc je donne mon coup:
la source
En utilisant la fonction zip, nous pouvons obtenir à la fois l'élément et l'index.
Voir également :
Python.org
la source
Essayez d'utiliser
itertools.count([n])
la source