Dicionários de mesclagem python

Dicionários de mesclagem python
Um dicionário refere-se a uma coleção de itens não ordenados em pares de valor-chave. Os dicionários são uma estrutura de dados popular e versátil que pode ajudar a armazenar dados associados.

Em Python, os dicionários são mutáveis. Isso significa que podemos mudar os valores de um dicionário após a declaração.

Este tutorial ensinará várias maneiras de 'concatenar' dois dicionários em um.

Usando o operador de tubo

No Python 3 e acima, você pode usar o operador de tubo (|) para concatenar dois dicionários em 1.

Um exemplo é mostrado abaixo:

relacional = 'mysql': 3306, 'PostGresql': 5432, 'Oracle': 1521
outro = 'Redis': 6379, 'MongoDB': 27017
all = relacional | outro
Imprimir Tudo)

O código acima deve anexar o segundo dicionário ao primeiro em ordem de aparência.

Isso deve resultar em um novo dicionário, como mostrado:

'MySQL': 3306, 'PostGresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Usando um loop

Também podemos anexar dois dicionários usando um para loop. Funciona iterando sobre cada chave e valor de um dicionário e anexando -o ao outro.

Um exemplo é mostrado abaixo:

relacional = 'mysql': 3306, 'PostGresql': 5432, 'Oracle': 1521
outro = 'Redis': 6379, 'MongoDB': 27017
all = relacional.copy () # copie a matriz
para k, v em outro.Unid():
todos [k] = V
Imprimir Tudo)

No exemplo acima, começamos copiando o primeiro dicionário no dicionário que desejamos anexar. Em seguida, percorremos cada chave e valor do segundo dicionário usando o método itens ().

Finalmente, anexamos a chave e o valor ao dicionário copiado.

A saída resultante é como mostrado:

'MySQL': 3306, 'PostGresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Usando o operador **

O operador ** Kwargs em Python nos permite passar qualquer número de argumentos para uma função. Portanto, podemos usar esse truque para descrever dicionários em um novo ditado.

Um exemplo é ilustrado abaixo:

relacional = 'mysql': 3306, 'PostGresql': 5432, 'Oracle': 1521
outro = 'Redis': 6379, 'MongoDB': 27017
all = ** relacional, ** Outros
Imprimir Tudo)

O código acima deve retornar:

'MySQL': 3306, 'PostGresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Usando o método de atualização

Também podemos usar o método update () nos dicionários python para mesclar dois ou mais dicionários.

Um exemplo de uso é mostrado abaixo:

relacional = 'mysql': 3306, 'PostGresql': 5432, 'Oracle': 1521
outro = 'Redis': 6379, 'MongoDB': 27017
all = relacional.cópia de()
todos.Atualização (outro)
Imprimir Tudo)

No exemplo acima, começamos copiando o primeiro dicionário. Isso nos ajuda a prevenir a substituição do primeiro dicionário.

Usando o método ChainMap

Também podemos usar o método ChainMap do módulo de coleções para mesclar dois dicionários.

A função ChainMap nos permite agrupar dois ou mais dicionários em uma única exibição atualizável.

Um exemplo é como mostrado:

De coleções de importação de cadeia
all = ChainMap (relacional, outro)
Imprimir Tudo)

O ChainMap deve tomar os dicionários como os parâmetros e retornar um dicionário mesclado como mostrado:

ChainMap ('MySQL': 3306, 'PostGresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017)

Observe que o tipo resultante não é um dicionário nativo de Python, mas uma classe.Coleções.Tipo de mapa de cadeia.

Conclusão

Neste artigo, mergulhamos profundamente em vários métodos de fusão de dois ou mais dicionários em Python.