Tamanho de fonte
Alto contraste
Altura de linha

Como faço para mesclar dois dicionários em Python?

Avatar de Ana Maria Gomes Ana Maria Gomes
3 minutos de leitura 8 meses atrás

Mesclar dicionários é uma tarefa comum na programação Python, especialmente ao lidar com configurações, ajustes ou simplesmente agregando dados. Neste artigo, exploraremos como mesclar dois dicionários em um novo dicionário em uma única expressão, garantindo que, quando uma chave estiver presente em ambos os dicionários, o valor do segundo dicionário seja mantido.

Mesclando Dicionários no Python 3.9 e Acima

O Python 3.9 introduziu um novo operador que simplifica a mesclagem de dois dicionários. Se você está usando Python 3.9.0 ou superior, pode mesclar os dicionários x e y em um novo dicionário z usando o operador de mesclagem (|):

x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = x | y
print(z)  # Saída: {'a': 1, 'b': 3, 'c': 4}
Testar

Este método é direto e é a maneira preferida de mesclar dicionários nas versões mais recentes do Python.

Mesclando Dicionários no Python 3.5 a 3.8

Para aqueles que usam versões do Python 3.5 a 3.8, a descompactação de dicionários com o operador ** é o caminho a seguir:

x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = {**x, **y}
print(z)  # Saída: {'a': 1, 'b': 3, 'c': 4}
Testar

Esta única expressão cria um novo dicionário z que contém o conteúdo mesclado de x e y.

Mesclando Dicionários no Python 2 ou 3.4 e Abaixo

Se você está trabalhando com uma versão mais antiga do Python, como Python 2 ou Python 3.4 e abaixo, você precisará escrever uma função para mesclar os dicionários:

def merge_two_dicts(x, y):
    z = x.copy()   # começa com as chaves e valores de x
    z.update(y)    # modifica z com as chaves e valores de y
    return z

x = {'a': 1, 'b': 2}
y = {'b': 3, 'c': 4}
z = merge_two_dicts(x, y)
print(z)  # Saída: {'a': 1, 'b': 3, 'c': 4}
Testar

Esta função, merge_two_dicts, cria uma cópia superficial do primeiro dicionário e depois o atualiza com o conteúdo do segundo dicionário.

Resumo

Em resumo, mesclar dois dicionários em Python pode ser feito em uma única expressão usando diferentes métodos, dependendo da versão do Python que você está usando. Para Python 3.9 e acima, use o operador de mesclagem |. Para Python 3.5 a 3.8, use o operador de descompactação **. Para Python 2 ou versões abaixo de 3.5, escreva uma função personalizada para realizar a mesclagem. Cada método garante que os valores do segundo dicionário sobrescrevam aqueles do primeiro quando a mesma chave estiver presente em ambos.

Imagem de um notebook

Cursos de programação gratuitos com certificado

Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:

  • Conteúdos gratuitos
  • Projetos práticos
  • Certificados
  • +20 mil alunos e comunidade exclusiva
  • Materiais didáticos e download de código
Inicie agora

Comentários

Comentar
Faça parte da discussão Crie sua conta gratuita e compartilhe
sua opinião nos comentários
Entre para a Asimov