09 迭代器、生成器
迭代器、生成器
-
迭代器
可迭代对象是指具有__iter__()方法的对象,包括列表、字符串、字典等 #迭代器 list=[1,2,3,4] #把list变成了可迭代对象 new_list=list.__iter__() #1 print(new_list.next()) #2 print(new_list.next()) #迭代器的优点 节省空间--惰性机制 #迭代器的缺点 一次性、不可逆 #for循环、文件的open的本质都是迭代器 s="alex" s1=s.__iter__() while True: try: print(s1.__next__()) except StopIteration: break
-
生成器
#生成器创建方式2 def test(): #yield返回并暂停 yield 1 print(1) yield 2 print(2) #
print(test()) #通过next()/__next__调用