爲何[]比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學徒啦開發

相關文章
相關標籤/搜索