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': 1521O 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': 27017Usando 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': 1521No 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': 27017Usando 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': 1521O código acima deve retornar:
'MySQL': 3306, 'PostGresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017Usando 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': 1521No 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 cadeiaO 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.