使用Python iter打印函数时为什么会出错?

问题描述 投票:-2回答:1

当我在打印前在代码中使用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-3.x pycharm
1个回答
1
投票

python iter只能遍历一次。通过将其称为列表,您已经“使用它” - 如果您希望调用__next__,则必须再次初始化它,因为您已经到了最后。

你可以阅读更多关于他们here

© www.soinside.com 2019 - 2024. All rights reserved.