python中迭代器

迭代器 

迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。

1.可迭代对象 

以直接作用于for循环的数据类型有以下几种:

一类是集合数据类型,如list、tuple、dict、set、str等;

一类是generator,包括生成器和带yield的generator function。

这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。

2.判断是否可以迭代 

可以使用isinstance()判断一个对象是否是Iterable对象:

运行结果:

而生成器不但可以作用于for循环,还可以被next()函数不断调用并返回下一个值,直到最后抛出StopIteration错误表示无法继续返回下一个值了。

相关推荐:《Python视频教程》

3.迭代器

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

运行结果:

4.iter()函数 

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

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

运行结果:

总结

·凡是可作用于for循环的对象都是Iterable类型;

·凡是可作用于next()函数的对象都是Iterator类型

·集合数据类型如list、dict、str等是Iterable但不是Iterator,不过可以通过iter()函数获得一个Iterator对象。

·目的是在使用集合的时候,减少占用的内容。

相关推荐:

三分钟看懂什么是Python生成器

how are youmike 扬州市树人中学网站 湖北驾驶证c1 iso 8596 main title下载 sw车系列图片 linux nginx 目录 clijsters 嘉 aquaringer面膜 无功损耗 百乐bxrt v5 饶雪漫沙漏电影 sysmail mailitems sql脚本编写 hard thing 胜牌星尊全合成机油 ros indigo opencv3.2 道不远人 介电常数单位 花生壳 映射内网ip min width 1000px 上下级沟通 日语 www.moocollege.cn p50u30c 换主板 i7 7700k x99 没那么简单表达了什么 疲劳分析 个人简介30字 www.kobebryant.com 小神童 e2 xqb

Copyright 满意通 Some Rights Reserved

如反馈或投诉等情况联系:une35498#163.com