首頁 >後端開發 >Python教學 >如何保留 Python 字典中的鍵順序?

如何保留 Python 字典中的鍵順序?

Susan Sarandon
Susan Sarandon原創
2024-11-29 09:00:12292瀏覽

How Do You Preserve Key Order in Python Dictionaries?

保留 Python 字典中的鍵順序

在舊版的 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.7 開始,字典預設保持插入順序。這意味著您可以依賴保留的鍵的順序。

Python 3.6 (CPython)

對於 Python 3.6 的 CPython 實現,字典也維護預設插入順序。但是,此行為是特定於實現的,並且不能在不同的 Python 實作中得到保證。

Python 2.7 和更早版本

在 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn