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

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

DDD
DDD原創
2024-12-27 07:12:08665瀏覽

How Do I Preserve Key Order in Python Dictionaries?

保留字典中的順序

問題

您以特定順序定義字典,並希望在訪問或迭代它時保持該順序。

解決方案:Python 3.6 中的插入順序

從 Python 3.6 開始,字典本質上預設維護插入順序。這是使用基於數組的哈希表實現的,其中鍵和值按添加順序存儲。

例如,以下字典聲明將保留鍵順序:

d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}

此行為最初是 Python 3.6 中的實作細節。然而,在 Python 3.7 中,它成為一種語言規範,確保所有 Python 實作都保持字典順序。

順序保留的用例

在以下應用程式中使用保留順序的字典可能是有益的鍵和值的順序很重要,例如:

  • 按時間順序將時間戳對應到事件order
  • 依照定義的順序儲存使用者首選項
  • 表示佇列或堆疊

取代:OrderedDict

而取代:OrderedDict
  • 而Python 3.6 中的字典保留order,您可能仍然會遇到 Collections.OrderedDict() 類別的附加功能的情況很有用。它提供以下功能:
  • 可逆性:可以以正向和反向順序迭代。

重新排序:您可以使用 move_to_end() 方法重新排序項目。

結論Python 3.6 及更高版本將插入順序合併到預設情況下字典,提供對其聲明序列中的鍵值對的方便且可預測的處理。但是,對於需要可逆或可重新排序字典的特定要求,OrderedDict 類別仍然是一個可行的選擇。

以上是如何保留 Python 字典中的鍵順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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