為什麼 比list()更快?

2021-09-24 20:49:25 字數 556 閱讀 4856

我最近比較了和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基本資料型別

為什麼get比post更快

get和post在面試過程中一般都會問到,一般的區別 1.post更安全 不會作為url的一部分,不會被快取 儲存在伺服器日誌 以及瀏覽器瀏覽記錄中 2.post傳送的資料量更大 get有url長度限制 3.post能傳送更多的資料型別 get只能傳送ascii字元 4.post比get慢 我相信不...

Python 為什麼比 list 快?

在日常使用 python 時,我們經常需要建立乙個列表,相信大家都很熟練了吧?方法一 使用成對的方括號語法 list a 方法二 使用內建的 list list b list 上面的兩種寫法,你經常使用哪乙個呢?是否思考過它們的區別呢?對於第乙個問題,使用timeit模組的 timeit 函式就能簡...

為什麼通常牛頓法比梯度下降法能更快的收斂

問題 為什麼通常牛頓法比梯度下降法能更快的收斂?解答 牛頓法是二階收斂,梯度下降是一階收斂,所以牛頓法就更快。如果更通俗地說的話,比如你想找一條最短的路徑走到乙個盆地的最底部,梯度下降法每次只從你當前所處位置選乙個坡度最大的方向走一步,牛頓法在選擇方向時,不僅會考慮坡度是否夠大,還會考慮你走了一步之...