ホームページ >バックエンド開発 >Python チュートリアル >Python で辞書のリストを特定のキーで並べ替えるにはどうすればよいですか?

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

DDD
DDDオリジナル
2024-12-31 12:49:14555ブラウズ

How Can I Sort a List of Dictionaries in Python by a Specific Key?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。