如何在 Python 中按鍵順序對字典排序?
Python 的標準發行版包含集合模組。它包含高效能容器資料型別的定義。有序字典是字典的子類,它會記住新增到字典物件中的條目的順序。當遍歷有序字典時,將按照其鍵首先新增的順序返回條目。
>>> from collections import OrderedDict >>> D = {5:'fff', 3:'ttt', 1:'ooo',4:'bbb', 2:'ddd'} >>> OrderedDict(D.items()) OrderedDict([(5, 'fff'), (3, 'ttt'), (1, 'ooo'), (4, 'bbb'), (2, 'ddd')])
我們還需要使用 sorted() 函式,該函式按指定順序對可迭代物件中的元素進行排序。該函式將函式作為引數,用作排序的鍵。由於我們打算按鍵對字典進行排序,因此我們採用元組的第 0 個元素作為排序的鍵
>>> D = {5:'fff', 3:'ttt', 1:'ooo',4:'bbb', 2:'ddd'} >>> OrderedDict(sorted(D.items(), key = lambda t: t[0])) OrderedDict([(1, 'ooo'), (2, 'ddd'), (3, 'ttt'), (4, 'bbb'), (5, 'fff')])
可以將 OrderedDict 物件解析為常規字典物件
>>> D1 = dict(OrderedDict(sorted(D.items(), key = lambda t: t[0]))) >>> D1 {1: 'ooo', 2: 'ddd', 3: 'ttt', 4: 'bbb', 5: 'fff'}
廣告