迭代器

来源:互联网 发布:遗传算法的matlab实现 编辑:程序博客网 时间:2024/06/10 17:54

1。直接作用于for循环的数据类型:

类1:集合。 如:list、tuple、dict、set、str等

类2:生成器。包括生成器和带yield的生成器函数。


2.可迭代对象(Iterable):可直接作用于for循环的对象。

拓展:如何判断一个对象是否是Iterable对象?

用isinstance()



3.迭代器(Iterator):可被next()函数调用并不断返回下一个值的对象。

拓展:如何判断一个对象是否是Iterator对象?

用isinstance()


注:生成器都是Iterator对象,但list,dict,str虽是Iterable却不是Iterator。

把list,dict,str等Iterable变成Iterator可以使用iter()函数。


Iterator对象------惰性计算的数列。


4.一个等价说明:

python的for循环,本质上等于不断调用next()函数实现。

①for循环


②next()函数



原创粉丝点击