在Python中,要创建一个自定义的迭代器,需要实现两个方法,分别是iter()和next()。iter()方法返回一个迭代器对象本身,而next()方法返回下一个迭代器对象。以下是一个简单的示例:
class MyIterator:
def __init__(self):
self.index = 0
self.data = [1, 2, 3, 4, 5]
def __iter__(self):
return self
def __next__(self):
if self.index < len(self.data):
result = self.data[self.index]
self.index += 1
return result
else:
raise StopIteration
# 调用示例
it = MyIterator()
for x in it:
print(x)
在以上示例中,创建了一个名为MyIterator的迭代器类,通过init()方法初始化了index和data两个变量,用于追踪迭代器的进度和数据。iter()方法实现了返回迭代器对象本身的逻辑,next()方法则是筛选并返回下一个迭代器对象。最后,在示例中调用了for循环实现了遍历迭代器所包含的数据,并输出了每个数据项的值。