为什么Python 3中的迭代器支持__next__
而不是next
?是否不应该直接调用而只能在执行时调用:
for i in iterator:
dosomething(i)
我有一个用例,我想调用 next
。例如使用 itertools.count
对于不断增加的整数流。我想做:
from itertools import count
cnt = count(0)
one(cnt.next())
two(cnt.next())
现在我可以使用 __next__
来完成上述操作这表明我不应该从外部调用它?
最佳答案
在Python 3中,使用全局函数next()
:
one(next(cnt))
关于python 3迭代器接下来不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26413230/