辞書をリスト内に格納し、その辞書内の特定の項目でソートしたい
タイトルだけだとわかりにくいかもしれない。
以下のようなデータがあるとする
list_DicInfo = [{value_A:15.13, id:1, value_B:10, value_C:29},
{value_A:10.61, id:2, value_B:20, value_C:30},
{value_A:20.31, id:3, value_C:30, value_C:40}]
このリストをvalue_Aの値でソートしたいということ。
調べてみるとlambdaとsortedを使用するとワンラインでシンプルに実現っぽい
こんな感じ
sorted_info = sorted(list_DicInfo, key=lambda x:x['value_A'])
lambdaでvalue_Aのリストをぶっこぬいてきて、それをつかってソートしているということになる。
で、結果として以下のようなオブジェクトが生成される
[{value_A:10.61, id:2, value_B:20, value_C:30},
{value_A:15.13, id:1, value_B:10, value_C:29},
{value_A:20.31, id:3, value_C:30, value_C:40}]
もともとのオブジェクトを維持する必要がないのであれば、sortedではなくsortを使用してもOK
参考
ソート HOW TO
Pythonで辞書のリストを特定のキーの値に従ってソート
WIL
先日Qiita内のこの記事で知ったTILという概念。
Today単位でアウトプットするのは時間的に厳しいので勝手にWILということで書いていってみる