Python中的迭代器是一个对象,它能够按照一定的顺序依次访问一个容器中的元素,而不需要事先知道容器的大小。

下面是一个简单的迭代器实现:

class MyIterator:
    def __init__(self, data):
        self.index = 0
        self.data = data

    def __iter__(self):
        return self

    def __next__(self):
        if self.index >= len(self.data):
            raise StopIteration
        else:
            result = self.data[self.index]
            self.index += 1
            return result

上面的代码实现了一个简单的迭代器,它接受一个容器作为参数,并把容器中的元素逐个返回。

使用这个迭代器的代码如下:

my_list = [1, 2, 3, 4, 5]
my_iterator = MyIterator(my_list)

for item in my_iterator:
    print(item)

这个代码会输出:

1
2
3
4
5

当迭代器没有更多的元素可供访问时,它会抛出StopIteration异常来通知调用者停止迭代。

python实现迭代器

原文地址: http://www.cveoy.top/t/topic/ug7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录