dictionary - Python 辞書 ソート 複数 - 辞書を値でソートするには?

Python 配列 ソート キー / python / sorting

データベースの2つのフィールド(文字列フィールドと数値フィールド)から読み取った値の辞書を持っています。文字列フィールドはユニークなので、これが辞書のキーとなります。

Anvesh



Answer #1

Python 2.7では、単純に do:

from collections import OrderedDict
#通常のソートされていない辞書
d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}

#キーでソートされた辞書
OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

#値でソートされた辞書
OrderedDict(sorted(d.items(), key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])