如何在 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() 函式,該函式按指定順序對可迭代中的元素進行排序。該函式採用一個函式作為引數,該函式用作排序的鍵。由於我們打算按值對字典進行排序,因此我們將元組的第 1 個元素作為排序的鍵。
>>> OrderedDict(sorted(D.items(), key=lambda t: t[1])) OrderedDict([(4, 'bbb'), (2, 'ddd'), (5, 'fff'), (1, 'ooo'), (3, 'ttt')])
OrderedDict 物件可以解析為常規字典物件
>>> D1 = dict(OrderedDict(sorted(D.items(), key = lambda t: t[1])))
>>> D1
{4: 'bbb', 2: 'ddd', 5: 'fff', 1: 'ooo', 3: 'ttt'}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP