我在寫這看起來是這樣的什麼是python列表函數的運行時複雜性?
def foo(some_list):
for i in range(0, len(some_list)):
bar(some_list[i], i)
,這樣它被稱爲與
x = [0, 1, 2, 3, ... ]
foo(x)
我曾以爲,列表索引訪問爲O(1)
,卻驚訝地發現,一個Python函數對於大型列表,這比我預期的要慢得多。
我的問題,那麼,是如何Python列表實現,什麼是以下
- 索引運行的複雜性:
list.pop()
- 從膨爆:
list[x]
- 從最終膨化開始:
list.pop(0)
- 擴展列表:
list.append(x)
用於額外信用,拼接或任意彈出。
糟糕,我知道我的方法比Pythonic少一些。對於我的循環,我需要該項目以及索引。有沒有一個好的方法來做到這一點? (編輯我的問題) – 2009-06-17 07:45:05
使用 - 對於我,列舉項目(some_lits):... – 2009-06-17 07:47:18