Maison > développement back-end > Tutoriel Python > Comment puis-je fusionner efficacement des dictionnaires Python avec des clés en double ?

Comment puis-je fusionner efficacement des dictionnaires Python avec des clés en double ?

Patricia Arquette
Libérer: 2024-12-14 14:11:11
original
992 Les gens l'ont consulté

How Can I Efficiently Merge Python Dictionaries with Duplicate Keys?

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}
Copier après la connexion

Pour fusionner ces dictionnaires, nous peut initialiser un defaultdict avec une valeur par défaut d'une liste vide :

dd = defaultdict(list)
Copier après la connexion

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)
Copier après la connexion

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]})
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal