理解字典中的鍵順序:歷史
字典是 Python 中的基本資料結構,表示鍵和值之間的對應。在舊版的 Python 中,字典中鍵的順序由實作的內部機制決定,導致意外結果。
考慮以下程式碼:
d = {'a': 0, 'b': 1, 'c': 2} l = d.keys() print(l)
此程式碼列印[ 'a', 'c', 'b'],讓使用者對按鍵順序感到困惑
Python 3.7
在Python 3.7 中,字典的插入順序保存特性成為語言規範的正式部分。這意味著字典現在維護鍵插入的順序,從而提供一致且可預測的行為。
Python 3.6 (CPython)
用於 Python 的 CPython 實現,字典在3.6版本中引入了插入順序保存。不過,要注意的是,這是一個實作細節,可能不適用於 Python 的其他實作。
Python >=2.7 和
中舊版的 Python(2.7 及以下),字典不保證鍵順序。為了維護插入順序,使用者可以依賴 collections.OrderedDict 類,該類別明確保留插入鍵的順序。
結論
字典中鍵的順序有隨著 Python 的歷史不斷發展。在現代版本(3.7)中,字典預設是按插入順序排列的,這樣就可以按照預期的順序可靠地檢索鍵。對於舊版的 Python,collections.OrderedDict 類別提供了維護鍵順序的可靠解決方案。
以上是Python 字典中的鍵順序如何隨時間變化?的詳細內容。更多資訊請關注PHP中文網其他相關文章!