当我在打印前在代码中使用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__())
python iter
只能遍历一次。通过将其称为列表,您已经“使用它” - 如果您希望调用__next__
,则必须再次初始化它,因为您已经到了最后。
你可以阅读更多关于他们here。