Python3-迭代器
迭代器概念:
迭代是访问集合元素的一种方式,迭代器是一个可以记住遍历的位置的对象,
特点:
迭代器对象从集合的第一个元素开始访问,知道所有的元素被访问完结束
迭代器只能往前不会后退
可以被next()函数调用并不断返回下一个值得对象称为迭代器:Iteration
提问:可迭代的 是不是肯定就是 迭代器?
答案:生成器是可迭代的,也是迭代器;
list是可迭代的,但不是迭代器
注意:通过iter()函数,可以将可迭代的变成一个迭代器
生成器 是 迭代器 的一种
生成器都是迭代器,但迭代器不一定是生成器!
什么叫迭代?
字符串、列表、元组、字典、集合都可以被for循环,说明他们都是可迭代的
1 from collections import Iterable
2
3 list_1 = [1,2,3,4,5]
4 tuple_1 = (1,2,3,4,5)
5 dict_1 = {'A':'1','B':'b'}
6 set_1 = {1,2,3,4}
7
8 print(isinstance(list_1,Iterable)) # True
9 print(isinstance(tuple_1,Iterable)) # True
10 print(isinstance(dict_1,Iterable)) # True
11 print(isinstance(set_1,Iterable)) # True
什么是迭代器?
满足两个条件:1.有iter方法 2.有next方法
总结:
迭代器遵循迭代器协议:必须拥有__iter__方法和__next__方法。
可迭代,内部必须有一个__iter__方法。
只要是迭代器 一定可迭代
可以被for循环的都是可迭代的
可迭代的对象.__iter__()方法就可以得到一个迭代器
迭代器中的__next__()方法可以一个一个的获取值
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步