Maison >développement back-end >Tutoriel Python >Comment puis-je combiner pythoniquement deux dictionnaires, en additionnant les valeurs des clés communes ?
Combiner deux dictionnaires de manière pythonique
Souvent, lorsque nous travaillons avec des dictionnaires en Python, nous devons fusionner plusieurs dictionnaires en un seul. Une exigence courante dans de tels scénarios est de combiner les dictionnaires, en ajoutant des valeurs pour les clés qui apparaissent dans les deux.
Par exemple, considérons les deux dictionnaires suivants :
Dict A: {'a': 1, 'b': 2, 'c': 3} Dict B: {'b': 3, 'c': 4, 'd': 5}
Notre objectif est de fusionner ces dictionnaires pour obtenir le résultat suivant :
{'a': 1, 'b': 5, 'c': 7, 'd': 5}
En d'autres termes, si une clé apparaît dans les deux dictionnaires, leurs valeurs doivent être résumées, tandis que les clés qui n'existent que dans un seul dictionnaire doivent conserver leurs valeurs d'origine.
Une façon élégante d'y parvenir en Python consiste à exploiter la classe Counter du module collections :
from collections import Counter A = Counter({'a': 1, 'b': 2, 'c': 3}) B = Counter({'b': 3, 'c': 4, 'd': 5}) result = A + B
La classe Counter étend les fonctionnalités d'un dictionnaire en fournissant un moyen simple de suivre le nombre d’occurrences (comptes) de valeurs. Dans notre cas, nous créons des objets Counter pour les deux dictionnaires, puis utilisons l'opérateur pour les combiner. Le résultat est un nouvel objet Counter dans lequel les décomptes des clés correspondantes sont accumulés. La reconversion de l'objet Counter en dictionnaire nous donne le dictionnaire combiné souhaité.
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!