Python迭代器与生成器如何实现

免费建站   2024年05月11日 10:24  

这篇文章主要讲解了“Python迭代器与生成器如何实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python迭代器与生成器如何实现”吧!

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

可迭代对象

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

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

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

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

判断可迭代对象isinstance

使用内置函数 isinstance() 判断其是否为 Iterable 的对象

fromcollectionsimportIterablestr="HelloPython"print(isinstance(str,Iterable))dir

通过内置函数 dir() 获取这个对象所有方法,检查是否有 '__iter__'

str='HelloPython'print('__iter__'indir(str))迭代器

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

iter()函数

生成器都是 Iterator 对象,但 list 、 dict 、 str 虽然是 Iterable ,却不是 Iterator 。把 list 、 dict 、 str 等 Iterable 变成 Iterator 可以使用 iter() 函数:

生成器

创建迭代器另外一种方式就是使用生成器,生成器是一个函数,这个函数的特殊之处在于它的 return 语句被 yield 语句替代。

foriinrange(1,10,1):print(i)defcustomRange(star,stop,step):x=starwhilex<stop:yieldxx+=stepforiincustomRange(1,10,0.5):print(i)生成器表达式(Generator Expression)

成器表达式的写法如下:

生成器=(针对项的操作for项in可迭代对象)

感谢各位的阅读,以上就是“Python迭代器与生成器如何实现”的内容了,经过本文的学习后,相信大家对Python迭代器与生成器如何实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

域名注册
购买VPS主机

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X
返回顶部