Skip to main content

Python 迭代器 (Iterator)

大家好!今天我们来聊聊Python的迭代器 iterator。

迭代器是一个对象,它可以记住遍历的位置。 迭代器对象从集合的第一个元素开始访问,直到 所有元素被访问完毕。迭代器只能往前迭代, 不会后退。在Python中,迭代器对象需要实现 __iter__()__next__() 两个方法。

__iter__() 方法返回迭代器对象本身。 __next__() 方法返回容器的下一个元素。 当没有更多元素时,__next__() 方法会引发 StopIteration 异常。

简单来说,迭代器是通过类创建的对象, 它提供了一种统一的访问集合元素的方式。

希望这个简单的例子能帮助你理解Python的iterator!

代码示例

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

def __iter__(self):
return self

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

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

for item in my_iterator:
print(item)