三日月館【別館】開発・制作Tips集
[Python] 辞書の値を基準にしてソートする
最終更新:
fumiduki1985
-
view
operatorモジュールのitemgetterオブジェクトを使用することで、辞書の「値」を基準としたソートを行うことができる。
記述例のように、sorted()関数のkey引数に指定して使用する。
また、itemgetterを利用すると「リストやタプルを要素とするリスト」を「要素内の任意のインデックスのデータ」でソートできる。
記述例のように、sorted()関数のkey引数に指定して使用する。
また、itemgetterを利用すると「リストやタプルを要素とするリスト」を「要素内の任意のインデックスのデータ」でソートできる。
記述例:
import operator dic = {'a':3, 'b':2, 'c':1} # sortedに、[('a', 3), ('b', 2), ('c', 1)] というリストをソートさせる # key=itemgetter(1) の効果により、各要素の1番目の値(上記リストでは数値のほう)でソートされる sortedList = sorted(dic.items(), key=itemgetter(1)) # sortedListには、[('c', 1), ('b', 2), ('c', 3)] が返される # ソート結果も辞書が必要な場合は、dict(sortedList)等で変換のこと。