我需要在列表或字典中添加項目或編輯項目。python:列表和字典之間的數據結構效率
名單不便像 [10, 15, 42, 78]
本字典是水木清華像 {0: 10, 1: 15, 2: 42, 3: 78}
哪一個更有效?
我需要在列表或字典中添加項目或編輯項目。python:列表和字典之間的數據結構效率
名單不便像 [10, 15, 42, 78]
本字典是水木清華像 {0: 10, 1: 15, 2: 42, 3: 78}
哪一個更有效?
這真的取決於。
當您測試成員資格(即needle in haystack
)字典是更好的選擇(因爲它在O(1)中運行而不是在列表上的O(n))。當你迭代這些值時,列表是要走的路。
兩者之間存在幾種效率折衷,每種情況都需要不同的分析。沒有'最好'的數據結構。
查看this page,詳細比較列表,deques,字典和集合上各種操作的運行時間。
取決於您的效率。
說到速度,列表會更快,但字典更容易組織和使用密鑰訪問。
「談到速度,列表會更快」?當談到速度做什麼? – Hyperboreus
記憶和迭代。 – Granitas
那麼使用列表時內存會更快?速度與內存有什麼關係? – Hyperboreus
只需用'list'即可。在這個特殊情況下沒有任何一個字典 – sshashank124
https://wiki.python.org/moin/TimeComplexity –
雖然'字典'會在編輯時給你更快的查找性能,但是對於你的情況'list'是一個更好的選擇。 –