Introducción
Los diccionarios son una estructura de datos fundamental en Python y se utilizan para almacenar pares clave-valor. A veces, es posible que necesitemos combinar los valores de dos o más diccionarios en un solo diccionario. En este desafío, escribirás una función que tome dos o más diccionarios como argumentos y devuelva un nuevo diccionario que combine los valores de los diccionarios de entrada.
Combinar valores de diccionarios
Escribe una función combine_values(*dicts) que tome dos o más diccionarios como argumentos y devuelva un nuevo diccionario que combine los valores de los diccionarios de entrada. La función debe realizar los siguientes pasos:
- Crea un nuevo
collections.defaultdictconlistcomo el valor predeterminado para cada clave. - Itera sobre los diccionarios de entrada y, para cada diccionario:
- Itera sobre las claves del diccionario.
- Agrega el valor de la clave a la lista de valores para esa clave en el
defaultdict.
- Convierte el
defaultdicta un diccionario regular utilizando la funcióndict(). - Devuelve el diccionario resultante.
La función debe tener la siguiente firma:
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]}
Resumen
En este desafío, has aprendido cómo combinar los valores de dos o más diccionarios en un solo diccionario. Has escrito una función que toma dos o más diccionarios como argumentos y devuelve un nuevo diccionario que combina los valores de los diccionarios de entrada.