迭代器

1 重复性

2 下一次重复是基于上一次的结果

python 为了提供一种不依赖索引的迭代方式

python会为一些对象内置__iter__,能够.__iter__的都是可以成为可迭代对象

如果我们.__iter__后得到一个结果就是迭代器

迭代器从无到有的过程:

i=d.__iter__()得出迭代器

i__next__()迭代器执行了

迭代器优点:

1:提供了一种不依赖于索引的取值方式

2:惰性计算,省内存

迭代器缺点:

1:取值不如按照索引的方便,如果我想取列表的第三个值,但是迭代器需要取出前两个

2:一次性的,只能取下一个值,不可以再次取出上一个值

3:由于一次只去一个值 所以无法len()查长度,只能完成后出现报警

用while向for一样迭代

可迭代对象一定是迭代器对象

列如:

a=[1,2,3,4]

a.__iter__

说明他是可迭代对象

a.__next__

说明他是迭代器对象

判断是不是可迭代 Iterable

判断是不是迭代器对象Iterator

迭代器的应用场景

1.提供了一种不依赖索引的统一迭代方法

2.惰性计算,列如没一行的取文件,省内存

原文地址:https://www.cnblogs.com/935415150wang/p/7027517.html