Agréger efficacement les données de plusieurs dictionnaires
Lorsque vous travaillez avec plusieurs dictionnaires, il peut être nécessaire de fusionner leurs données, en collectant des valeurs pour les clés correspondantes dans un nouveau dictionnaire. Cette tâche pose un défi lorsque les dictionnaires peuvent contenir des clés qui manquent dans d'autres.
Pour relever ce défi efficacement, nous pouvons utiliser le defaultdict du module collections. Voici comment cela fonctionne :
from collections import defaultdict d1 = {1: 2, 3: 4} d2 = {1: 6, 3: 7} dd = defaultdict(list) for d in (d1, d2): # Include all dictionaries here for key, value in d.items(): dd[key].append(value)
Ce code parcourt chaque dictionnaire, ajoutant chaque paire clé-valeur au defaultdict. Le defaultdict initialise automatiquement les clés manquantes avec une liste vide. Ainsi, lorsqu'une clé est rencontrée dans un dictionnaire mais pas dans les précédents, une nouvelle liste est créée pour ses valeurs.
Le résultat final obtenu en dd est un defaultdict où chaque clé correspond à une liste de valeurs collectées à partir de tous les dictionnaires d'entrée.
print(dd) # Result: defaultdict(<type 'list'>, {1: [2, 6], 3: [4, 7]})
Cette solution garantit une agrégation efficace et complète des données de plusieurs dictionnaires, en traitant même les cas avec des clés manquantes.
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!