Introduction
Les dictionnaires sont une structure de données fondamentale en Python, et ils sont utilisés pour stocker des paires clé-valeur. Parfois, nous pouvons avoir besoin de combiner les valeurs de deux ou plusieurs dictionnaires en un seul dictionnaire. Dans ce défi, vous écrirez une fonction qui prend deux ou plusieurs dictionnaires en arguments et renvoie un nouveau dictionnaire qui combine les valeurs des dictionnaires d'entrée.
Combine Dictionary Values
Écrivez une fonction combine_values(*dicts) qui prend deux ou plusieurs dictionnaires en arguments et renvoie un nouveau dictionnaire qui combine les valeurs des dictionnaires d'entrée. La fonction doit effectuer les étapes suivantes :
- Créez un nouveau
collections.defaultdictaveclistcomme valeur par défaut pour chaque clé. - Parcourez les dictionnaires d'entrée et pour chaque dictionnaire :
- Parcourez les clés du dictionnaire.
- Ajoutez la valeur de la clé à la liste des valeurs pour cette clé dans le
defaultdict.
- Convertissez le
defaultdicten un dictionnaire classique en utilisant la fonctiondict(). - Retournez le dictionnaire résultant.
La fonction devrait avoir la signature suivante :
def combine_values(*dicts):
pass
from collections import defaultdict
def combine_values(*dicts):
res = defaultdict(list)
for d in dicts:
for key in d:
res[key].append(d[key])
return dict(res)
d1 = {'a': 1, 'b': 'foo', 'c': 400}
d2 = {'a': 3, 'b': 200, 'd': 400}
combine_values(d1, d2) ## {'a': [1, 3], 'b': ['foo', 200], 'c': [400], 'd': [400]}
Résumé
Dans ce défi, vous avez appris à combiner les valeurs de deux ou plusieurs dictionnaires en un seul dictionnaire. Vous avez écrit une fonction qui prend deux ou plusieurs dictionnaires en arguments et renvoie un nouveau dictionnaire qui combine les valeurs des dictionnaires d'entrée.