Maison >développement back-end >Tutoriel Python >Comment puis-je fusionner des dictionnaires Python avec des clés en double dans des listes de valeurs ?
En Python, gérer plusieurs dictionnaires peut être difficile, surtout lorsque leur fusion devient nécessaire. Un problème courant survient lorsque les dictionnaires partagent des clés en double, et l'objectif est de collecter toutes les valeurs associées à ces clés dans une seule liste.
Pour gérer cela efficacement, un puissant Python L'outil appelé defaultdict du module collections entre en jeu. Il permet de créer une valeur par défaut (dans ce cas, une liste vide) pour toute clé qui n'existe pas dans le dictionnaire.
Considérons l'exemple suivant :
d1 = {1: 2, 3: 4} d2 = {1: 6, 3: 7}
Pour fusionner ces dictionnaires, collectant les valeurs des clés correspondantes, nous pouvons utiliser defaultdict comme suit :
from collections import defaultdict dd = defaultdict(list) for d in (d1, d2): # loop through all input dictionaries for key, value in d.items(): dd[key].append(value) print(dd) # result: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
Dans ce code :
Cette solution collecte efficacement toutes les valeurs associées aux clés correspondantes à partir de plusieurs dictionnaires, offrant ainsi un moyen propre et polyvalent de gérer les clés en double.
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!