迭代器基础

牧云@^-^@ 提交于 2019-12-04 14:15:21
#生成器都是迭代器 ,迭代器不一定是生成器#list,tuple,sict,string:Iterable(可迭代对象)#什么是迭代器?#满足两个条件:1有iter方法 2有next方法a = [1,2,3,4,]b= a.__iter__()print(b) #<list_iterator object at 0x000000000270B4C8>print(next(b))print(next(b))print(next(b))print(next(b))#print(next(b))  #StopIteration# for循环做的:#     1 调用可迭代对象的iter方法返回一个迭代器对象#     2 不断调用迭代器对象next方法#     3 处理 StopIterationfor i in [1,2,3,4]: #不能直接对这个列表使用next方法    # iter([1,2,3,4]) #加了iter就可以了    print(i)from collections import  Iterable,Iterator #print(isinstance(a,list))      #True  判断a 是不是列表print(isinstance(a,Iterable))    #True   判断a是不是可迭代对象print(isinstance(a,Iterator))     #False  判断a是不是迭代器print(isinstance(b,Iterator))      # True   判断a 是不是迭代器这是网上找的迭代器和生成器关系图

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!