要实现一个Python迭代器,需要遵循以下步骤:
(图片来源网络,侵删)
1、定义一个类,并实现__iter__()
方法,这个方法需要返回迭代器对象本身。
2、在类中定义一个私有变量_index
,用于记录当前迭代的位置。
3、实现__next__()
方法,这个方法需要返回下一个值,并在每次调用时更新_index
。
4、如果所有元素都已迭代完毕,__next__()
方法应抛出StopIteration
异常。
下面是一个简单的迭代器实现示例:
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__()
方法返回下一个值并更新_index
,当所有元素都已迭代完毕时,__next__()
方法抛出StopIteration
异常。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/454122.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复