首页 > 代码库 > 【Python】使用多个迭代器
【Python】使用多个迭代器
如果要达到多个迭代器的效果,__iter__()只需替迭代器定义新的状态对象,而不是返回self
1 class SkipIterator: 2 def __init__(self, wrapped): 3 self.wrapped = wrapped 4 self.offset = 0 5 6 def __next__(self): 7 if self.offset >= len(self.wrapped): 8 raise StopIteration 9 else: 10 item = self.wrapped[self.offset] 11 self.offset+=2 12 return item 13 14 15 class SkipObject: 16 def __init__(self, wrapped): 17 self.wrapped = wrapped 18 19 def __iter__(self): 20 return SkipIterator(self.wrapped) 21 22 23 if __name__ == ‘__main__‘: 24 hhh = ‘hahaha‘ 25 skipper = SkipObject(hhh) 26 for i in skipper: 27 print(i) 28 29 I = iter(skipper) 30 print(next(I), next(I), next(I))
参考资料:Python学习手册
【Python】使用多个迭代器
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。