码迷,mamicode.com
首页 > 其他好文 > 详细

为什么[]比list()更快?

时间:2019-06-30 10:01:40      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:数据类型   函数调用   build   list()   查找   pre   list   lam   lob   

我最近比较了[]和list()的处理速度,并且惊讶地发现[]运行速度比list()快三倍以上。我跑了相同的测试与{}和dict(),结果几乎相同:[]和{}两个花了大约0.128sec /百万次,而list()和dict()大约花费每个0.428sec /万次。

后来我查了查原因,得到的结论如下:

list()需要全局查找和函数调用,但[]编译为单个指令。

 

Python 2.7.3
>>> import dis
>>> print dis.dis(lambda: list())
  1           0 LOAD_GLOBAL              0 (list)
              3 CALL_FUNCTION            0
              6 RETURN_VALUE        
None
>>> print dis.dis(lambda: [])
  1           0 BUILD_LIST               0
              3 RETURN_VALUE        
None

                                                                 python基本数据类型

 

为什么[]比list()更快?

标签:数据类型   函数调用   build   list()   查找   pre   list   lam   lob   

原文地址:https://www.cnblogs.com/pythongood/p/11108579.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!