python迭代器类( 手写)

复制代码
 1 class Iterator:     #自定义迭代器
 2     def __init__(self, Iteratorlist) -> None:
 3         self.iteratorlist = Iteratorlist
 4         self.index = 0
 5 
 6     def __next__(self):    #复写基类(迭代器)的next函数
 7         if self.index + 1 > len(self.iteratorlist):
 8             raise StopIteration()
 9         item = self.iteratorlist[self.index]
10         self.index += 1
11         return item
12 
13 class IteratorList:       #自定义可迭代对象
14     def __init__(self, list):
15         self.list = list
16 
17     def __iter__(self):    #复写基类(可迭代对象的)的iter函数
18         return Iterator(self.list)
19 
20 class People:
21     pass
22 
23 iter_list = IteratorList([People(), People(), People(), People()])
24 
25 iterator = iter_list.__iter__()
26 
27 while True:
28     try:
29         item = iterator.__next__()
30         print(item)
31     except:
32         break
复制代码

 

posted @   小白duzw  阅读(148)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示