web-dev-qa-db-ja.com

Pythonで "for"を使用してインデックスをカウントします

Pythonと同じようにする必要があります:

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

しかし、リスト内の要素のインデックスを取得するためにPythonでFORを使用する方法がわかりません。

43
Lucas Rezende

特定のリストがあり、その項目andインデックスを反復処理する場合は、 enumerate()

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

インデックスのみが必要な場合は、 range() を使用できます。

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

ただ使う

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

データセットを反復処理し、各値を印刷します。

大規模なデータセットの場合、xrangeを使用します。xrangeは非常によく似たシグネチャを持っていますが、より大きなデータセットに対してより効果的に機能します。 http://docs.python.org/library/functions.html#xrange

21

既存のリストがあり、それをループしてインデックスを追跡する場合は、enumerate関数を使用できます。例えば

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

使用 列挙

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

私が目指す最も簡単な方法は次のとおりです。

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

この?

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

他の答えに加えて-非常に多くの場合、インデックスを使用して反復する必要はありませんが、for-each式を使用できます。

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