python 3迭代器接下来不执行

标签 python python-itertools

为什么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/

相关文章:

python - 按 20 秒间隔对时间戳进行分组

python - 如何根据两组列之间的值组合创建列?

python - 在 python 2.7 中连接两个嵌套的子列表

python - 使用外部 Web 服务的 Django 身份验证

python - Pyside2如何打开对话框但不总是在最上面

python - BertForSequenceClassification 与用于句子多类分类的 BertForMultipleChoice

python - 重复排列?

pythonic 方式获取给定素数分解的除数列表

python - 如何修复 CentOS 6.5 上的 Python 安装

python - 在 python 中修复 '../../' 路径