我在學習Python,並且在循環詞典時對迭代速度感到困惑。在其中一篇教程中,我們不得不遍歷字典併爲假設的超市提取「關鍵」項目。我問了一個關於最佳實踐原則的問題來遍歷一本字典,並被告知爲了迭代目的對字典進行排序並不是真的是,直到你處理「大」數據集,所以我不應該擔心它。字典迭代速度
我不確定導師說爲什麼不要緊,因爲我相信速度是處理大型數據集的關鍵。我做了一些閱讀並發現了一篇非常有用的文章(Python: List vs Dict for look up table)。
由此,我可以假設,根據任務,字典的排序是情境?或者你會說一個人應該總是排序字典的最佳處理速度?
把它放在更多的上下文中 - 讓我們用下面的例子: 假設我們正在搜索一個含有10,000個條目的字典中的一堆腰果的價格。在這種情況下,如果條目以隨機方式放置在詞典中 - 如果搜索條目被分類,搜索速度會更快,而不是隨機放置在任何位置?
非常感謝!
Python字典是散列函數的實現。請參閱https://en.wikipedia.org/wiki/Hash_table和http://stackoverflow.com/questions/114830/is-a-python-dictionary-an-example-of-a-hash-table – Alexander
詞典未排序集合...但是他們有非常快速的項目查找(O(1)) –
*排序*字典?爲什麼會以任何方式提高速度? – user2357112