ホームページ >バックエンド開発 >Python チュートリアル >Python で辞書のリストを特定のキーで並べ替えるにはどうすればよいですか?
特定のキーの値に基づいて辞書のリストを並べ替えるのは一般的なタスクです。名前と年齢を含む辞書のリストを考えてみましょう。
list_to_be_sorted = [{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
このリストを名前で昇順に並べ替えるには、key パラメーターを指定してsorted() 関数を利用できます。 key パラメーターを使用すると、並べ替え順序を決定する関数を指定できます。
newlist = sorted(list_to_be_sorted, key=lambda d: d['name'])
この場合、各辞書から 'name' 値を抽出し、その値を並べ替えに使用するラムダ関数を定義します。ソートされた結果は次のようになります:
[{'name': 'Bart', 'age': 10}, {'name': 'Homer', 'age': 39}]
また、カスタム関数を定義する代わりに、operator.itemgetter を使用することもできます。 itemgetter は、各ディクショナリから特定のフィールドを抽出する呼び出し可能関数を返します。
from operator import itemgetter newlist = sorted(list_to_be_sorted, key=itemgetter('name'))
これも、前と同じ並べ替え結果を生成します。
最後に、リストを降順に並べ替えるには、次のようにします。 sorted() 関数で reverse=True を設定します。
newlist = sorted(list_to_be_sorted, key=itemgetter('name'), reverse=True)
これによりリストが並べ替えられます。として:
[{'name': 'Homer', 'age': 39}, {'name': 'Bart', 'age': 10}]
以上がPython で辞書のリストを特定のキーで並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。