python中如何创建一个迭代器,python创建代器,迭代器的类必须包含两个方


迭代器的类必须包含两个方法; iter() and next().

下面是一个自定义的奇数迭代器

class OddIterator(object):    def __init__(self):        self.value = -1    # Required for the for-in syntax    def __iter__(self):        return self    # Returns the next value of the iterator    def next(self):        self.value += 2        return self.value
                                测试迭代器的next方法
iter = OddIterator()assert iter.next() == 1assert iter.next() == 3assert iter.next() == 5assert iter.next() == 7
                                测试for in 语法是否正确
iter = OddIterator()# Prints 1, 3, 5, 7 and 9for i in iter:    print i    if i >= 9:        break

评论关闭