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}
TestarEste 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}
TestarEsta ú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}
TestarEsta 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 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
Comentários