ホームページ >バックエンド開発 >Python チュートリアル >2 つの Python 辞書で一致する (キー、値) ペアを効率的に見つけるにはどうすればよいでしょうか?

2 つの Python 辞書で一致する (キー、値) ペアを効率的に見つけるにはどうすればよいでしょうか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-29 21:50:03395ブラウズ

How Can You Efficiently Find Matching (Key, Value) Pairs in Two Python Dictionaries?

辞書の比較と一致する (キー、値) ペアの特定

Python では、2 つの辞書を比較するには、多くの場合、各キーと値のペアを検査して、それらが同じ値を持っているかどうかを判断します。コードの優雅さに対処する改訂されたアプローチは次のとおりです。

<code class="python">def compare_dictionaries(dict1, dict2):
    matched_pairs = 0
    for key, value in dict1.items():
        if key in dict2 and value == dict2[key]:
            matched_pairs += 1
    return matched_pairs</code>

内訳:

  • compare_dictionaries 関数は引数として 2 つの辞書を取ります。
  • 最初の辞書内の各キーと値のペアを反復処理します。
  • 各キーについて、2 番目の辞書に存在するかどうか、および対応する値が等しいかどうかを確認します。
  • 両方の条件が一致する場合一致すると、カウンター matched_pa​​irs がインクリメントされます。
  • 最後に、関数は一致するキーと値のペアの数を返します。

このアプローチでは、zip とタプルの比較の使用が回避され、結果は次のようになります。より簡潔で読みやすいコード。また、ディクショナリに異なるキーがある場合も適切に処理できます。

カウント用に更新

一致するキーと値のペアの数を確認するには、次のようにします。上記の関数の増分行:

<code class="python">if key in dict2 and value == dict2[key]:
    matched_pairs += 1</code>

<code class="python">if key in dict2 and dict2[key] == value:
    return 1</code>

に置き換えます。これにより、関数は一致するペアが見つかった場合は 1 を返し、それ以外の場合は 0 を返します。その後、結果を合計して、一致の合計数を取得できます。

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

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