itertools.cycle()旁边。()?

好吧,我在Python 2.6.6中使用了
itertools.cycle().next()
方法,但是现在我更新到3.2我注意到
itertools.cycle()
对象没有方法
next()
。 我用它在
Spinner
类的
spin()
方法中循环一个字符串。因此,如果我们循环元组
('|', '/', '-', '\', '|', '/', '-')
,它将打印:
|
/
-
|
/
-
|
/
等等...... 我搜索了Python 3.0,3.1和3.2的发行说明,并没有发现任何变化。什么时候改变了?是否有任何简单的替代方案可以实现与以前相同的功能? 先感谢您。     
已邀请:
iter.next()
在python 3中删除了。使用
next(iter)
代替。所以在你的例子中将
itertools.cycle().next()
改为
next(itertools.cycle())
这里有一个很好的例子以及其他各种移植到python 3技巧。它还比较了python 2.x和python 3.x中的各种其他
next()
习语     
在Python 3.x中,迭代器不再具有
it.next()
。使用
next(it)
代替,也适用于Python 2.6或更高版本。在内部,这将在Python 2.x中调用
it.next()
,在Python 3.x中调用
it.__next__()
。     

要回复问题请先登录注册