LoginSignup
0
0

More than 5 years have passed since last update.

[python]リスト内の辞書に対して特定の項目でソートする

Posted at

辞書をリスト内に格納し、その辞書内の特定の項目でソートしたい

タイトルだけだとわかりにくいかもしれない。

以下のようなデータがあるとする

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の値でソートしたいということ。

調べてみるとlambdasortedを使用するとワンラインでシンプルに実現っぽい

こんな感じ

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ということで書いていってみる

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0