如何在 Python 中透過鍵對字典進行排序?
Python 的標準發行版包含集合模組。其中定義了高效能容器資料型別。OrderedDict 是字典的一個子類,它會記住新增到字典物件中的項的順序。在對有序字典進行迭代時,項將按其鍵首次新增的順序返回。
>>> 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'}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP