44 votes

Compter les index en utilisant "for" en Python

Je dois faire en Python la même chose que :

 for (i = 0; i < 5; i++) {cout << i;} 

mais je ne sais pas comment utiliser FOR en Python pour obtenir l'index des éléments d'une liste.

78voto

Sven Marnach Points 133943

Si vous avez une liste donnée et que vous souhaitez parcourir ses éléments et indices, vous pouvez utiliser enumerate() :

 for index, item in enumerate(my_list):
    print index, item

Si vous n'avez besoin que des index, vous pouvez utiliser range() :

 for i in range(len(my_list)):
    print i

21voto

David Faux Points 4912

Utilisez simplement

 for i in range(0, 5):
    print i

pour parcourir votre ensemble de données et imprimer chaque valeur.

Pour les ensembles de données volumineux, vous souhaitez utiliser xrange, qui a une signature très similaire, mais fonctionne plus efficacement pour les ensembles de données plus volumineux. http://docs.python.org/library/functions.html#xrange

16voto

pkit Points 2249

Si vous avez une liste existante et que vous souhaitez la parcourir et garder une trace des indices, vous pouvez utiliser la fonction enumerate . Par exemple

 l = ["apple", "pear", "banana"]
for i, fruit in enumerate(l):
   print "index", i, "is", fruit

10voto

bgporter Points 11119

utiliser énumérer :

 >>> l = ['a', 'b', 'c', 'd']
>>> for index, val in enumerate(l):
...    print "%d: %s" % (index, val)
... 
0: a
1: b
2: c
3: d

2voto

vGuMuS Points 81

La façon la plus simple que je choisirais est ;

 i = -1
for step in my_list:
    i += 1
    print(i)

#OR - WE CAN CHANGE THE ORDER OF EXECUTION - SEEMS MORE REASONABLE

i = 0
for step in my_list:
    print(i) #DO SOMETHING THEN INCREASE "i"
    i += 1

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X