如何使对象成为Python2和Python3迭代器?

This Stack Overflow post是关于在Python中使对象成为迭代器.

在Python 2中,这意味着您需要实现__iter __()方法和next()方法.但是在Python 3中,您需要实现一个不同的方法,而不是next(),您需要实现__next __().

如何在Python 2和3中创建一个迭代器对象?

解决方法

只需给它__next__和下一个方法;一个可以是另一个的别名:
class Iterator(object):
    def __iter__(self):
        return self

    def __next__(self):
        # Python 3
        return 'a value'

    next = __next__  # Python 2

相关文章

在前一篇博客中我们介绍了加侧旋的乒乓球弧圈技术的模拟,本...
在近期conda的版本更新中,有可能会删除路径下的_sysconfigd...
本文主要展示了一些lambda表达式的使用示例,通过这些示例,...
本文通过对比Jax和Numpy计算Normalized Hamming Distance的过...
我们知道GPU加速在可并行化程度比较高的算法中,能够发挥出比...
Numpy这个库在Python编程中非常的常用,不仅在性能上补足了P...