在Python 中保留字典順序
Python 中的字典本質上是無序的,這使得對其鍵進行排序具有挑戰性。本文探討按鍵對字典進行排序的方法。
標準字典
標準 Python 字典不維護(鍵,值)對的特定順序。對 paris 進行排序會改變字典不可預測的順序。
OrderedDict:解
OrderedDict 類別是 dict 的子類,可以解決此問題。它會記住元素的插入順序,確保排序後鍵保持有序。
import collections # Sample dictionary d = {2: 3, 1: 89, 4: 5, 3: 0} # Create an OrderedDict with sorted keys od = collections.OrderedDict(sorted(d.items())) # Print the sorted OrderedDict print(od)
輸出:
OrderedDict([(1, 89), (2, 3), (3, 0), (4, 5)])
存取值
儘管鍵已排序,OrderedDict 仍保留值的預期行為存取。
print(od[1]) # Prints 89 print(od[3]) # Prints 0
迭代
迭代 OrderedDict 會保留排序的鍵順序。
for k, v in od.items(): print(k, v)
輸出:
1 89 2 3 3 0 4 5
Python 3
在Python 3 中,使用更新的語法來迭代項目:
for k, v in od.items(): print(k, v)
以上是Python排序時如何保持字典鍵順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!