在3.7 之前的Python 版本中使用keys() 方法檢索字典的鍵時,返回列表中的鍵可能是任意的。這種不可預測性源自於 Python 在早期版本中處理字典的方式。
從 Python 3.7 開始,字典預設保持插入順序。這意味著keys()輸出列表中的鍵將與它們插入字典的順序相符。
在Python 3.6(特別是CPython實作) ),字典也預設儲存插入順序。但是,這被認為是實作細節,並且無法保證其在不同 Python 實作中的可靠性。
對於 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中文網其他相關文章!