我正在解決一個問題,其中我需要一個零列表,之後我必須更新列表中的一些值。現在我在腦海中有兩個選擇,我怎麼能做到這一點首先是做一個零列表,然後更新值,或者我創建一個字典,然後我更新值。列表與字典在Python中存儲零
列表方法:
l=[0]*n
字典方法:
d={}
for i in range(n):
d[i]=0
我們複雜打造字典O(n)
,然後更新的關鍵是O(1)
。但我不知道python如何使用上面的方法構建零列表。
假設n是大量的其中一個上面的方法將成爲這個任務的更好嗎?以及如何在Python中實現列表方法? 。此外,爲什麼上面的列表方法比創建零列表的列表理解方法更快?
我建議你做一些實驗,打印運行時間並查看自動差異。 – Acepcs
字典初始化更好:'dict.fromkeys(range(n),0)'。 –
'l = [0] * n'只是'l = list .__ mul __([0],n)',但是使用了一種語言結構。序列類型通常實現'__mul__'用於重複它們。 –