Python 3.x itertools.cycle().next()?

Python 3.x itertools.cycle().next()?,python-3.x,cycle,next,itertools,Python 3.x,Cycle,Next,Itertools,我在Python 2.6.6中使用了itertools.cycle().next()方法,但现在我更新到了3.2,我注意到itertools.cycle()对象没有next()方法 我使用它在Spinner类的spin()方法中循环字符串。因此,如果我们循环元组(“|”、“/”、“-”、“\\”、“|”、“/”、“-”),它将打印:、/、-、、、、、、,等等 我搜索了Python3.0、3.1和3.2的发行说明,没有注意到这方面的任何变化。什么时候改变了?是否有任何简单的替代方案可以实现与以前相

我在Python 2.6.6中使用了
itertools.cycle().next()
方法,但现在我更新到了3.2,我注意到
itertools.cycle()
对象没有
next()
方法

我使用它在
Spinner
类的
spin()方法中循环字符串。因此,如果我们循环元组
(“|”、“/”、“-”、“\\”、“|”、“/”、“-”)
,它将打印:
/
-
,等等

我搜索了Python3.0、3.1和3.2的发行说明,没有注意到这方面的任何变化。什么时候改变了?是否有任何简单的替代方案可以实现与以前相同的功能


提前感谢您。

在Python3.x中,迭代器不再具有
it.next()
。改为使用
next(it)
,这也适用于Python 2.6或更高版本。在内部,这将调用Python2.x中的
it.next()
,以及Python3.x中的
it。改用
next(iter)
。因此,在您的示例中,将
itertools.cycle().next()
更改为
next(itertools.cycle())


除了各种其他的python 3移植技巧外,还有一个新的方法。它还比较了Python2.x和Python3.x中的各种其他
next()
习惯用法,以了解
cycle
:)这个有趣的用例。您的回答与@Sven几乎相同(嗯,我知道,它不会有什么不同),但您的链接保存了您的答案。我不知道。。。书签!谢谢你的回答和链接。:)是的,我们两人几乎同时回答。很高兴你发现这个链接很有用,我发现它是一个很好的参考。为什么
iter.next()
被删除了?@KurtMueller一个简单的Web搜索给出了答案:当你不知道什么东西的时候不要忘了使用websearch链接现在已经死了。有没有可能任何人都可以找到并更新链接?谢谢