2010-12-28 2 views

Répondre

13

Non, vous lui donnez un nom: for i in range(10): ...

Si vous souhaitez effectuer une itération sur les éléments d'une collection de telle sorte que vous obtenez l'élément et son indice, plus il est moyen de le faire Pythonic for i,v in enumerate(l): print i,v (. où l est une liste ou tout autre objet qui implémente le protocole de séquence)

+2

Minor nit - 'l' peut être tout ce qui implémente le protocole de séquence, pas seulement une liste. –

5

en général, si vous Boucler dans une liste (ou tout iterator) et que vous voulez l'indice ainsi, vous utilisez enumerate:

for i, val in enumerate(l): 
    <do something> 
+0

Il n'y a pas 'enumerate' dans votre exemple. – delnan

+0

J'ai ajouté l'appel à énumérer. –

+0

Pas d'énumération. il devrait être énumérer (l) –

3

question simple, réponse simple:

for (i, value) in enumerate(alist): 
    print i, value 

sortie:

1 value 
2 value 
3 value 
... 

où la "valeur" est la valeur actuelle aList (une liste ou autre chose).

+1

i est indexé sur zéro, non indexé sur 1. Pour que la sortie commence à 1, utilisez l'argument mot-clé 'start'. –

Questions connexes