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

Python の辞書リストで特定の辞書を効率的に検索するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-05 15:18:10
オリジナル
921 人が閲覧しました

How to Efficiently Search for a Specific Dictionary in a Python List of Dictionaries?

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.")
ログイン後にコピー

代替アプローチ:

  • 以下を列挙できます。 list を使用して、一致する辞書のインデックスを取得します。
index = next((i for i, item in enumerate(dicts) if item["name"] == "Pam"), None)

print(f"Matching dictionary at index {index}")
ログイン後にコピー
  • ジェネレーター式で追加のフィルター条件を使用して、より複雑な検索を実行できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート