1. ホーム
  2. python

[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?

2022-03-18 08:39:27

質問

辞書のリストがあり、各項目を特定の値で並べ替えたいのですが、どうすればいいですか?

リストを考慮する。

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

でソートした場合 name となるはずです。

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

解決方法は?

その 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)