Python での辞書のリスト内の特定の辞書の検索
次のような辞書のリストが与えられたとします。
[ { "name": "Tom", "age": 10 }, { "name": "Mark", "age": 5 }, { "name": "Pam", "age": 7 } ]
特定の基準に基づいて特定の辞書を検索して取得する必要がある場合があります。たとえば、「Pam」という名前に関連付けられた辞書を取得したい場合、さまざまな Python アプローチを活用できます。
効果的な解決策の 1 つは、以下に示すように、ジェネレータ式を利用することです。
>>> next(item for item in dicts if item["name"] == "Pam") {'age': 7, 'name': 'Pam'}
このジェネレーター式は、リスト内の各辞書を反復処理し、if item["name"] == "Pam" 内の条件を評価します。この条件を満たす辞書が見つかると、それが結果として返されます。
必要な辞書が存在しない可能性がある状況に対処するために、ユーザー Matt がコメントで提案したデフォルト値を提供できます。これは、少し異なる API を使用して実現できます:
next((item for item in dicts if item["name"] == "Pam"), None)
あるいは、辞書自体ではなく、一致する辞書のインデックスを決定する必要がある場合は、次のようにリストを enumerate() することができます。
next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)
これらの手法を採用することで、Python の辞書リスト内の特定の辞書を効率的に検索して取得できるため、複雑なデータ操作や検索タスクを簡単に実行できます。
以上がPython の辞書リストで特定の辞書を効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。