回答:
>>> a = [3,4,5,6]
>>> for i, val in enumerate(a):
... print i, val
...
0 3
1 4
2 5
3 6
>>>
うん、それがenumerate
機能だ!要は、次のことを行う必要があります。
list(enumerate([3,7,19]))
[(0, 3), (1, 7), (2, 19)]
for i in range(len(name_of_list)):
それを使用したいと彼は言ったので、最初の部分に示されたものの代わりにforを使用する例を提供しました。
zip
関数を使用した別の例を次に示します。
>>> a = [3, 7, 19]
>>> zip(range(len(a)), a)
[(0, 3), (1, 7), (2, 19)]
enumerate()
もう少しエレガントだと思います。
あなたが複数のリストを持っている場合は、この組み合わせを行うことができますenumerate
し、zip
:
list1 = [1, 2, 3, 4, 5]
list2 = [10, 20, 30, 40, 50]
list3 = [100, 200, 300, 400, 500]
for i, (l1, l2, l3) in enumerate(zip(list1, list2, list3)):
print(i, l1, l2, l3)
出力:
0 1 10 100
1 2 20 200
2 3 30 300
3 4 40 400
4 5 50 500
の後には括弧が必要であることに注意してくださいi
。そうしないと、エラーが発生します。ValueError: need more than 2 values to unpack