迭代器

迭代对象:一 集合数据类型,如list,str,set,dict,tuple。

二 generator,如生成器和带yield的generator function ,这些可以直接作用于for循环的对象统称为可迭代对象

迭代器:可以被next()函数调用并不断返回下一个值得对象称为迭代器。

迭代器的判断:

利用ipython模块,

[1]: from collections import Iterator

[2]: Isinstance(x for x in range(10),Iterator)

生成器表达式:类似列表解析语法,只不过把列表解析的[]换成()

生成器一定是迭代器,但是迭代器不一定是生成器。

生成器表达式能做的事情列表解析基本都能处理,只不过在需要处理的序列比较大时,列表解析比较费内存。

验证是否可以迭代我们可以使用collections中的Iterable模块,操作如下:

在ipython中使用

[1]:from collections import Iterable

[2]:Isinstance([],Iterable)

非迭代器转换为迭代器:在ipython中利用Iter(),如下:

A=[11,22,33]

B=Iter(a)

Next(b)

循环使用,取到最后会出现StopIteration异常

原文地址:https://www.cnblogs.com/kk328/p/8512294.html