迭代器是一种用于遍历容器(如列表、字典等)中元素的对象。它提供了一个统一的接口,使我们可以通过调用 next()
方法来逐个获取容器中的元素,直到容器中的所有元素都被访问完毕。
以下是一个简单的迭代器的示例代码:
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, 4, 5]
my_iterator = MyIterator(my_list)
for item in my_iterator:
print(item)
在上面的例子中,MyIterator
类实现了 __iter__
和 __next__
方法,使其成为一个迭代器。__iter__
方法返回迭代器本身,而 __next__
方法则负责返回容器中的下一个元素,并更新迭代器的状态。在上述示例中,我们用 for
循环遍历 my_iterator
,每次循环迭代器会返回容器中的下一个元素。当容器中的所有元素都被访问完毕时,迭代器会抛出 StopIteration
异常来结束迭代。