在舊版的 Python 中,字典中鍵的順序通常是不可預測的。這可能會導致存取資料時出現混亂和不一致的結果。
在 Python 3.6 之前,字典中鍵的順序為由鍵的雜湊值決定。這意味著即使值保持不變,鍵的順序也會隨著時間而改變。例如,在您提供的程式碼區塊中:
d = {'a': 0, 'b': 1, 'c': 2} l = d.keys() print(l)
結果清單 l 中的鍵順序是 ['a', 'c', 'b']。此順序無法保證,並且可能會在未來的循環迭代中更改。
為了確保維持鍵的順序,有多種方法可以使用:
從Python 3.7 開始,字典預設保持插入順序。這意味著您可以依賴保留的鍵的順序。
對於 Python 3.6 的 CPython 實現,字典也維護預設插入順序。但是,此行為是特定於實現的,並且不能在不同的 Python 實作中得到保證。
在 3.6 之前的 Python 版本中強制執行按鍵順序,您可以使用 collections.OrderedDict 類別。此類專門保留插入鍵的順序:
from collections import OrderedDict d = OrderedDict({'a': 0, 'b': 1, 'c': 2}) print(list(d.keys())) # Output: ['a', 'b', 'c']
以上是如何保留 Python 字典中的鍵順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!