Python 中的字典排序
為什麼 Python 字典看起來是有序的,而實際上它應該是無序的?
想想以下字典:
列印字典時"n".join(myDict),觀察到意外的順序:
雖然Python 字典確實是無序的,但始終產生相同的順序。
底層實作
在舊版的 Python 中,字典是作為雜湊表實現的。雜湊表使用函數將鍵映射到數組中的特定位置,從而產生明顯任意但一致的順序。
有序字典實作
Python 自此修改了其dict 實作以保留插入順序。此保證從 Python 3.7 開始生效。因此,字典的實作不再純粹基於哈希表,儘管在建構過程中仍然使用了哈希表。
以上是為什麼我的 Python 字典是無序的,但看起來卻是有順序的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!