首頁 >後端開發 >Python教學 >Python在3.7之前的版本是如何處理字典鍵順序的?

Python在3.7之前的版本是如何處理字典鍵順序的?

Barbara Streisand
Barbara Streisand原創
2024-11-11 17:48:02945瀏覽

How did Python handle dictionary key order in versions before 3.7?

先前的Python 版本中字典中鍵的順序

在3.7 之前的Python 版本中使用keys() 方法檢索字典的鍵時,返回列表中的鍵可能是任意的。這種不可預測性源自於 Python 在早期版本中處理字典的方式。

Python 3.7

從 Python 3.7 開始,字典預設保持插入順序。這意味著keys()輸出列表中的鍵將與它們插入字典的順序相符。

Python 3.6 (CPython)

在Python 3.6(特別是CPython實作) ),字典也預設儲存插入順序。但是,這被認為是實作細節,並且無法保證其在不同 Python 實作中的可靠性。

Python >=2.7 和

對於 2.7 和 3.6 之間的 Python 版本, keys() 列表中鍵的順序由雜湊函數決定。此雜湊函數不能保證穩定,因此即使輸入資料相同,鍵的順序也可能在執行之間有所不同。

為了確保這些早期版本的 Python 中的插入順序,您應該使用集合。 OrderedDict 類別。此類保證將按照插入的順序檢索鍵:

import collections

d = collections.OrderedDict({'a': 0, 'b': 1, 'c': 2})
l = d.keys()

print(l)  # Output: ['a', 'b', 'c']

以上是Python在3.7之前的版本是如何處理字典鍵順序的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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