如何在 Python 中透過值排序字典?
Python 的標準發行版包含 collections 模組。它定義了高效能容器資料型別。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'}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP