【发布时间】:2017-11-19 18:37:15
【问题描述】:
我试图在 python3 中对 codeeval 进行挑战,但在尝试改进我的解决方案时遇到了困难。每次我尝试在同一个迭代器上连续两次迭代(或打印或其他操作)时,第二个循环都是空的。这是一个产生这种行为的最小示例,尽管我尝试了几种与列表等不同的组合,但结果相同:
numbers = ('1','2','3','4','5')
numbers = map(int, numbers)
print(list(numbers))
print(list(numbers))
结果:
[1, 2, 3, 4, 5]
[]
为什么 print(在这种情况下)会删除数字的内容?
【问题讨论】:
-
这就是迭代器的本质。一旦完成,它保持完成。
标签: python python-3.x