Maison >développement back-end >Tutoriel Python >Comment trouver efficacement des paires correspondantes (clé, valeur) dans deux dictionnaires Python ?

Comment trouver efficacement des paires correspondantes (clé, valeur) dans deux dictionnaires Python ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-29 21:50:03393parcourir

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

Comparer des dictionnaires et identifier les paires correspondantes (clé, valeur)

En Python, comparer deux dictionnaires implique souvent d'inspecter chaque paire clé-valeur pour déterminer s’ils possèdent des valeurs identiques. Voici une approche révisée qui aborde l'élégance du code :

<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>

Répartition :

  • La fonction compare_dictionaries prend deux dictionnaires comme arguments.
  • Il parcourt chaque paire clé-valeur du premier dictionnaire.
  • Pour chaque clé, il vérifie si elle existe dans le deuxième dictionnaire et si les valeurs correspondantes sont égales.
  • Si les deux conditions sont atteint, le compteur matched_pairs est incrémenté.
  • Enfin, la fonction renvoie le nombre de paires clé-valeur correspondantes.

Cette approche évite l'utilisation de comparaisons zip et tuple, ce qui entraîne code plus concis et lisible. Il vous permet également de gérer le cas où les dictionnaires ont des clés différentes.

Mise à jour pour le comptage

Pour déterminer le nombre de paires clé-valeur correspondantes, vous pouvez remplacez la ligne d'incrémentation dans la fonction ci-dessus :

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

par :

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

Cela fera que la fonction renverra 1 lorsqu'une paire correspondante est trouvée, et 0 sinon. Vous pouvez ensuite additionner les résultats pour obtenir le nombre total de correspondances.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn