在打印前我在代码中使用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__())
答案 0 :(得分:1)
python iter
只能被遍历一次。通过将其称为列表,您已经“用完了”-如果您想调用__next__
,则必须重新初始化它,因为您已经结束了。
您可以了解有关here的更多信息。