Tutoriais

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

Ana Maria Gomes 23 fev Básico 5xp
Compartilhar

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.

Cursos gratuitos para continuar aprendendo

Curso
Grátis · 2h 13min

Python para iniciantes: do zero ao primeiro projeto

Aprenda sobre variáveis, loops e funções e crie seu primeiro projeto Python em apenas 2 horas!

Curso
Grátis · 3h 47min

Python para dados: do zero à análise completa

Saia do zero e analise dados com Python e Pandas neste curso gratuito com certificado!

Curso
Grátis · 4h 11min

Python para IA: do zero ao primeiro chatbot

Aprenda a programar com Python e explore a inteligência artificial! Crie um chatbot prático que interage com seus próprios dados. Comece agora!

Ver todos os cursos

0 comentários

Exclusivo PRO
Faça parte da discussão

Comente e participe da conversa

Crie sua conta gratuita e compartilhe sua opinião nos comentários.

Entre para a Asimov