python实现迭代器
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异常来通知调用者停止迭代。
原文地址: http://www.cveoy.top/t/topic/ug7 著作权归作者所有。请勿转载和采集!