はんぎょねこの憂鬱

大丈夫。はんぎょねこのブログだよ。

pythonのreversedはイテレータを返す

反転したリストを複数回使うときにハマった

a = reversed([1, 2, 3])  # イテレータを返す
for x in a:
    print(x)
for x in a:
    print(x)  # ここは呼ばれない

reverseなどでリスト自体を反転させておくか

a = [1, 2, 3]
a.reverse()

for文ごとにreversedを呼べばOK

a = [1, 2, 3]
for x in reversed(a):
    print(x)
for x in reversed(a):
    print(x)

ちなみにsortedはリストを返す模様