加入收藏 | 设为首页 | 会员中心 | 我要投稿 桂林站长网 (https://www.0773zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 动态 > 正文

3个“黑魔法”与“骚操作”

发布时间:2021-02-25 13:42:29 所属栏目:动态 来源:互联网
导读:止,列表推导式不就是一个用来创建列表的式子么?除了可以简化代码,装装X?其实,列表推导式还有另一个优点是相比于for循环更高效,因为列表推导式在执行时调用的是Python的底层C代码,而for循环则是用Python代码来执行。嗷~面试官最想听到的,是第二点。 迭

止,列表推导式不就是一个用来创建列表的式子么?除了可以简化代码,装装X?其实,列表推导式还有另一个优点是相比于for循环更高效,因为列表推导式在执行时调用的是Python的底层C代码,而for循环则是用Python代码来执行。嗷~面试官最想听到的,是第二点。

迭代器

由于迭代器协议对很多人来说,是一个较为抽象的概念,而且生成器自动实现了迭代器协议,所以我们需要先讲解一下迭代器协议的概念,也是为了更好的理解接下来的生成器。

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

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

迭代器只能往前不能后退。

迭代器协议:是指对象需要提供__next__()方法,它要么返回迭代中的下一项,要么就引起一个StopIteration异常,以终止迭代。

可迭代对象:就是实现了迭代器协议的对象。

举个例子,对Python稍微熟悉一点的朋友应该知道,Python的for循环不但可以用来遍历list,还可以用来遍历文件对象,如下所示:


(编辑:桂林站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!