ホームページ >バックエンド開発 >Python チュートリアル >Python 辞書のリストで特定のキーと値のペアを効率的に見つけるにはどうすればよいですか?

Python 辞書のリストで特定のキーと値のペアを効率的に見つけるにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-06 18:42:12988ブラウズ

How to Efficiently Find Specific Key-Value Pairs in a List of Python Dictionaries?

Python での特定の辞書 Key-Value の検索

辞書のリストが与えられた場合、特定の Key-Value を検索して次のことを行うのが一般的です。対応する辞書を取得します。たとえば、次のリストについて考えてみましょう。

[
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 }
]

「Pam」という名前の辞書を検索するには、ジェネレーター式を使用できます。

dicts = [
  { "name": "Tom", "age": 10 },
  { "name": "Mark", "age": 5 },
  { "name": "Pam", "age": 7 }
]

matching_dict = next(item for item in dicts if item["name"] == "Pam")

next() 関数は戻ります。ジェネレーターの最初の項目は、「Pam」という名前の辞書です。ジェネレーター式を使用すると、すべての結果をメモリに保存せずに効率的な反復が可能になります。

項目が存在しない可能性がある場合には、パラメータを指定した next() 関数を使用してデフォルト値を提供できます。

matching_dict = next((item for item in dicts if item["name"] == "Pam"), None)

あるいは、列挙を使用して一致する項目のインデックスを見つけることもできます:

matching_index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)

以上がPython 辞書のリストで特定のキーと値のペアを効率的に見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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