web-dev-qa-db-fra.com

Compter les index en utilisant "pour" dans Python

Je dois faire dans Python le même que:

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

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

43
Lucas Rezende

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

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

Si vous avez seulement besoin des index, vous pouvez utiliser range() :

for i in range(len(my_list)):
    print i
73
Sven Marnach

Juste utiliser

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

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

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

21

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

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

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
8
bgporter

La façon la plus simple que je voudrais est 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
2
vGuMuS

Cette?

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

En plus d'autres réponses - très souvent, vous n'avez pas à itérer à l'aide de l'index mais vous pouvez simplement utiliser une expression for-each:

my_list = ['a', 'b', 'c']
for item in my_list:
    print item
0
alex