为何[]比list()更快?

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

后来我查了查缘由,获得的结论以下:函数

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学徒啦开发

相关文章
相关标签/搜索