我是靠谱客的博主 标致火,最近开发中收集的这篇文章主要介绍列表推导式 python原理_Python-为什么列表推导式会更快,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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-为什么列表推导式会更快所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部