ホームページ >バックエンド開発 >Python チュートリアル >Python の辞書リストで特定の辞書を効率的に検索するにはどうすればよいですか?
Python を使用したリスト内の辞書の検索
例として辞書のリストを考えてみましょう。
dicts = [ {"name": "Tom", "age": 10}, {"name": "Mark", "age": 5}, {"name": "Pam", "age": 7}, ]
問題: が含まれる辞書をどのように検索して取得しますか? "name" キーは "Pam" と等しいですか?
解決策:
ジェネレーター式を使用すると、辞書のリストを反復処理し、必要な辞書をフィルターで除外できます。
match = next(item for item in dicts if item["name"] == "Pam") print(match) # {"name": "Pam", "age": 7}
取り扱い存在しない:
検索している名前がリストに存在しない可能性がある場合は、デフォルトの引数を指定して next() 関数を使用できます:
match = next((item for item in dicts if item["name"] == "Pam"), None) if match: print(match) else: print("No matching dictionary found.")
代替アプローチ:
index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None) print(f"Matching dictionary at index {index}")
以上がPython の辞書リストで特定の辞書を効率的に検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。