Pythonでリストを逆順にトラバースする [重複] 質問する

Pythonでリストを逆順にトラバースする [重複] 質問する

Python でリストを逆順に走査するにはどうすればよいでしょうか。 から開始してcollection[len(collection)-1]で終了することができますcollection[0]

ループインデックスにもアクセスできるようにしたいと思います。

ベストアンサー1

組み込みのreversed()関数:

>>> a = ["foo", "bar", "baz"]
>>> for i in reversed(a):
...     print(i)
... 
baz
bar
foo

元のインデックスにもアクセスするには、enumerate()渡す前にリストに追加してくださいreversed():

>>> for i, e in reversed(list(enumerate(a))):
...     print(i, e)
... 
2 baz
1 bar
0 foo

enumerate()ジェネレータを返しますが、ジェネレータは元に戻すことができないため、listまずジェネレータに変換する必要があります。

おすすめ記事