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

2019-07-24 09:09:56来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

我最近比较了[]和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全栈开发工程师收python学徒啦

 


原文链接:https://www.cnblogs.com/pythongood/p/11108579.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:datatime模块

下一篇:Python 自定义元类的两种写法