次の行動に驚きました。
>>> a=['a','b','c','d','e','f','g']
>>> en=enumerate(a)
>>> list(en)
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g')]
>>> list(en)
[]
>>> # en changed? let's try that again!
>>> a=['a','b','c','d','e','f','g']
>>> en=enumerate(a)
>>> tuple(en)
((0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'))
>>> tuple(en)
()
>>> # en changes again?
list()
enのデータからリストを作成するだけで、決して変更しないと思いました。と同じtuple()
です。しかし、どちらも en に「深い」影響を与えます。list()
とについて何か誤解していますかtuple()
、それとも誤解していenumerate()
ますか? ありがとう。