迭代器
程序员文章站
2022-03-13 17:21:36
迭代对象:一 集合数据类型,如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异常