概述
1、列表推导式
你一定听过这样一个说法,尽量使用列表推导式,而不是用list.append方法来初始化一个列表,那么究竟为何列表推导式会更快呢?
这是因为,列表推导式被编译后的字节码执行速度更快。python当然不是一门编译型语言,但是它还是要被解析成二进制的字节码才能被执行,执行它的正是python解释器。
2、dis
这个模块原生的代码分析模块,通过它,我们可以查看python代码被编译后的字节码
3、示例
执行上面这段代码,输出内容为
对比一下,不难发现,两个段字节码最大的区别在于添加元素的部分
func1 中,先要LOAD_ATTR,将append方法加载进来,然后CALL_FUNCTION,也就是执行
而在func2中,则直接调用了LIST_APPEND命令来添加元素,就是这一个小小的区别,使得列表推导式的速度会更快,因为func1相比于func2多了一个LOAD_ATTR的过程,要明白,这条命令在每次循环中都会被执行,一旦循环的次数多起来,就必然拖慢速度
最后
以上就是标致火为你收集整理的列表推导式 python原理_Python-为什么列表推导式会更快的全部内容,希望文章能够帮你解决列表推导式 python原理_Python-为什么列表推导式会更快所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复