Combinar valores de diccionarios

Beginner

This tutorial is from open-source community. Access the source code

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:

  1. Crea un nuevo collections.defaultdict con list como el valor predeterminado para cada clave.
  2. 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.
  3. Convierte el defaultdict a un diccionario regular utilizando la función dict().
  4. 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.