专注于
IT技术和业内交流

python迭代器

实现了迭代器协议的类就称为迭代器。

迭代器协议就是实现两个成员函数:

  1. __iter__:返回迭代对象自己
  2. next:返回下一个元素或者抛出StopIteration异常

一个简单的例子:

class Container(list):
    items = []
    index = 0
    def __init__(self, items):
        self.items = items

    def next(self):
        current = self.index
        if current >= len(self.items):
            raise StopIteration
        self.index += 2
        return self.items[current]

    def __iter__(self):
        return self

for i in Container(range(10)):
    print i
输出:
0
2
4
6
8

创建迭代器的方法:

  1. 通过实现迭代器协议。
  2. 通过内置函数iter。
a = iter([1, 2, 3])
print a.next()
print a.next()
print a.next()

输出:
1
2
3

未经允许,不得转载本站任何文章:代码山 » python迭代器

分享到:更多 ()

专注品牌化高端网站建设

商务服务联系我们