为什么将打印功能与Python iter一起使用时会出现错误?

时间:2019-03-24 15:38:09

标签: python-3.x pycharm

在打印前我在代码中使用print(list(my_iter))时,会引发错误:

a = [4, 7, 0, 3]
my_iter = iter(a)
print(list(my_iter))

print(my_iter.__next__())
print(my_iter.__next__())

>StopIteration

但是,如果我发表评论,它运行良好。为什么?

a = [4, 7, 0, 3]
my_iter = iter(a)
# print(list(my_iter))

print(my_iter.__next__())
print(my_iter.__next__())

1 个答案:

答案 0 :(得分:1)

python iter只能被遍历一次。通过将其称为列表,您已经“用完了”-如果您想调用__next__,则必须重新初始化它,因为您已经结束了。

您可以了解有关here的更多信息。