Obtenir le nombre de boucles dans un Python pour la boucle
Dans une boucle Python for
qui itère sur une liste, nous pouvons écrire:
for item in list:
print item
Et soigneusement 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 faire quelque chose avec eux.
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?
4 réponses
La manière pythonique est d'utiliser enumerate
:
for idx,item in enumerate(list):
D'accord avec Nick. Voici un code plus élaboré.
#count=0
for idx, item in enumerate(list):
print item
#count +=1
#if count % 10 == 0:
if (idx+1) % 10 == 0:
print 'did ten'
J'ai commenté la variable nombre dans votre code.
Je connais une question plutôt ancienne mais....je suis tombé sur une autre chose, alors je donne ma chance:
[each*2 for each in [1,2,3,4,5] if each % 10 == 0])