Fusion de dictionnaires avec des clés en double
En Python, les dictionnaires sont utilisés pour stocker des collections de paires clé-valeur. Lorsqu'il s'agit de plusieurs dictionnaires avec des clés en double, les fusionner tout en conservant les valeurs associées peut être un défi courant.
Une méthode efficace pour y parvenir consiste à utiliser le collections.defaultdict de la bibliothèque standard Python. Ce dictionnaire spécialisé permet l'initialisation de valeurs avec une usine par défaut, telle qu'une liste, pour des clés inexistantes.
Considérez les exemples de dictionnaires suivants :
d1 = {1: 2, 3: 4} d2 = {1: 6, 3: 7}
Pour fusionner ces dictionnaires, nous peut initialiser un defaultdict avec une valeur par défaut d'une liste vide :
dd = defaultdict(list)
Ensuite, nous parcourons chaque dictionnaire de la séquence avec leur clé-valeur paires :
for d in (d1, d2): for key, value in d.items(): dd[key].append(value)
Dans cette boucle, pour chaque clé rencontrée, nous ajoutons la valeur correspondante à la liste par défaut. Cette approche garantit que toutes les clés en double sont traitées avec leurs valeurs associées.
En conséquence, le dictionnaire dd contiendra des valeurs fusionnées correspondant aux clés en double :
print(dd) # Output: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
Cette méthode est particulièrement utile lorsqu'il s'agit de grands ensembles de dictionnaires ou lorsqu'il peut y avoir un nombre arbitraire de dictionnaires d'entrée. Il fusionne efficacement toutes les clés en double tout en préservant leurs valeurs dans un dictionnaire de sortie consolidé.
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!