Python で辞書のリストを辞書の値で並べ替えるにはどうすればよいでしょうか? 質問する

Python で辞書のリストを辞書の値で並べ替えるにはどうすればよいでしょうか? 質問する

辞書のリストを特定のキーの値で並べ替えるにはどうすればよいでしょうか?

[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]

でソートするとname次のようになります。

[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]

ベストアンサー1

sorted()key=関数はパラメータを取る

newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])

あるいは、operator.itemgetter関数を自分で定義する代わりに

from operator import itemgetter
newlist = sorted(list_to_be_sorted, key=itemgetter('name'))

完全性を保つためにreverse=True降順で並べ替えを追加

newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)

おすすめ記事