欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

迭代器

程序员文章站 2022-06-15 18:33:27
迭代对象:一 集合数据类型,如list,str,set,dict,tuple。 二 generator,如生成器和带yield的generator function ,这些可以直接作用于for循环的对象统称为可迭代对象 迭代器:可以被next()函数调用并不断返回下一个值得对象称为迭代器。 迭代器的 ......

迭代对象:一 集合数据类型,如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异常