优草派 > Python

Python创建列表使用中括号和list()那个效率更高?这篇文章告诉你

罗西汉         优草派

在python之中创建列表的时候经常会使用中括号[]和list()函数,他们两个的出的结果看起来是没有什么不同的。但是在内部的程序执行过程里,他们的执行效率是不一样的。本篇文章将会详细分析中括号[]和list()函数创建列表那个效率更高及其原因,往下看看吧。

Python创建列表使用中括号和list()那个效率更高?这篇文章告诉你

一、示例比较

以一个很简单的例子来说明,分别计算list和中括号创建列表所需的时间就可以很直观的看到它们之间的差距,示例如下:

import timeit
timeit.timeit('[]', number=10**7)
timeit.timeit('list()', number=10**7)
0.47
1.7

从结果上可以看出,list()函数创建列表的速度比中括号[]慢了将近三倍,这里进行测算的是创建空列表所需的时间。实际上应用起来差距不会有这么大,但是却绝对不会小。

二、原因分析

在命令行输入from dis import dis这个命令就可以看到这两种方式的执行过程是怎么样的,相比于中括号[]创建列表,list()函数在执行时会有三个指令,比中括号多了一个。

这是因为解释器可以直接根据中括号[]就找到这次要执行的操作时创建一个列表,但是对于list它不是直接识别的。它是先需要在作用域之中逐一去查找,然后再没找到后回去读取list()后的内容。这时候就识别除了它是函数,才会将其当做对象进行调用。

总的来说,创建列表是中括号[]的效率是高于list()函数的,这是因为解释器在对list函数进行解析时需要一层层的进行查找,而中括号不需要。

  • 微信好友

  • 朋友圈

  • 新浪微博

  • QQ空间

  • 复制链接

取消
5天短视频训练营
新手入门剪辑课程,零基础也能学
分享变现渠道,助你兼职赚钱
限时特惠:0元
立即抢
新手剪辑课程 (精心挑选,简单易学)
第一课
新手如何学剪辑视频? 开始学习
第二课
短视频剪辑培训班速成是真的吗? 开始学习
第三课
不需要付费的视频剪辑软件有哪些? 开始学习
第四课
手机剪辑app哪个好? 开始学习
第五课
如何做短视频剪辑赚钱? 开始学习
第六课
视频剪辑接单网站APP有哪些? 开始学习
第七课
哪里可以学短视频运营? 开始学习
第八课
做短视频运营需要会什么? 开始学习
【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。

客服热线:0731-85127885

湘ICP备19005950号-1  

工商营业执照信息

违法和不良信息举报

举报电话:0731-85127885 举报邮箱:tousu@csai.cn

优草派  版权所有 © 2024