Combinar Valores de Dicionários

Beginner

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

Introdução

Dicionários são uma estrutura de dados fundamental em Python, e são usados para armazenar pares chave-valor. Às vezes, podemos precisar combinar os valores de dois ou mais dicionários em um único dicionário. Neste desafio, você escreverá uma função que recebe dois ou mais dicionários como argumentos e retorna um novo dicionário que combina os valores dos dicionários de entrada.

Combinar Valores de Dicionário

Escreva uma função combine_values(*dicts) que recebe dois ou mais dicionários como argumentos e retorna um novo dicionário que combina os valores dos dicionários de entrada. A função deve realizar os seguintes passos:

  1. Crie um novo collections.defaultdict com list como o valor padrão para cada chave.
  2. Itere sobre os dicionários de entrada e, para cada dicionário:
    • Itere sobre as chaves do dicionário.
    • Anexe o valor da chave à lista de valores para essa chave no defaultdict.
  3. Converta o defaultdict em um dicionário regular usando a função dict().
  4. Retorne o dicionário resultante.

A função deve ter a seguinte assinatura:

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]}

Resumo

Neste desafio, você aprendeu como combinar os valores de dois ou mais dicionários em um único dicionário. Você escreveu uma função que recebe dois ou mais dicionários como argumentos e retorna um novo dicionário que combina os valores dos dicionários de entrada.