在python之中创建列表的时候经常会使用中括号[]和list()函数,他们两个的出的结果看起来是没有什么不同的 。但是在内部的程序执行过程里,他们的执行效率是不一样的 。本篇文章将会详细分析中括号[]和list()函数创建列表那个效率更高及其原因,往下看看吧 。
文章插图
一、示例比较
以一个很简单的例子来说明,分别计算list和中括号创建列表所需的时间就可以很直观的看到它们之间的差距,示例如下:
import timeittimeit.timeit('[]', number=10**7)timeit.timeit('list()', number=10**7)0.471.7从结果上可以看出,list()函数创建列表的速度比中括号[]慢了将近三倍,这里进行测算的是创建空列表所需的时间 。实际上应用起来差距不会有这么大,但是却绝对不会小 。
二、原因分析
在命令行输入from dis import dis这个命令就可以看到这两种方式的执行过程是怎么样的,相比于中括号[]创建列表,list()函数在执行时会有三个指令,比中括号多了一个 。
这是因为解释器可以直接根据中括号[]就找到这次要执行的操作时创建一个列表,但是对于list它不是直接识别的 。它是先需要在作用域之中逐一去查找,然后再没找到后回去读取list()后的内容 。这时候就识别除了它是函数,才会将其当做对象进行调用 。
【Python创建列表使用中括号和list那个效率更高?这篇文章告诉你】总的来说,创建列表是中括号[]的效率是高于list()函数的,这是因为解释器在对list函数进行解析时需要一层层的进行查找,而中括号不需要 。
推荐阅读
- 淘宝直播必须设置直播预告吗?怎么创建预告?
- xd如何创建可滚动画板?创建方法是什么?
- Movie studio如何创建幻灯片?Movie studio创建幻灯片的技巧
- python的pip工具命令有哪些?看完你就知道了
- 做银行金融项目要会python吗?应该怎么学python更好一点?
- 如何从github下载安装python库?详细教程来了
- python如何一次性输入多个数?详细方法带给你
- postgresql怎么创建查看用户角色?超详细的教学来了
- python安装matplotlib失败怎么解决?超简单的方法来了
- python3.5怎么打开?三分钟学会超简单