Python fusionar diccionarios

Python fusionar diccionarios
Un diccionario se refiere a una colección de artículos desordenados en pares de valores clave. Los diccionarios son una estructura de datos popular y versátil que puede ayudar a almacenar datos asociados.

En Python, los diccionarios son mutables. Esto significa que podemos cambiar los valores de un diccionario después de la declaración.

Este tutorial le enseñará varias formas de 'concatenar' dos diccionarios en uno.

Usando el operador de tubería

En Python 3 y superior, puede usar el operador de tubería (|) para concatenar dos diccionarios en 1.

A continuación se muestra un ejemplo:

relacional = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521
Otro = 'Redis': 6379, 'MongoDB': 27017
all = relacional | otro
imprimir todo)

El código anterior debe agregar el segundo diccionario al primero en orden de apariencia.

Esto debería dar como resultado un nuevo diccionario como se muestra:

'Mysql': 3306, 'PostgreSQL': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Usando un bucle para

También podemos agregar dos diccionarios usando un en bucle. Funciona iterando sobre cada clave y valor de un diccionario y agregándolo al otro.

A continuación se muestra un ejemplo:

relacional = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521
Otro = 'Redis': 6379, 'MongoDB': 27017
Todos = RELACIONALES.Copiar () # Copie la matriz
para K, V en otros.elementos():
Todos [K] = V
imprimir todo)

En el ejemplo anterior, comenzamos copiando el primer diccionario en el diccionario que deseamos agregar. Luego pasamos por cada clave y valor del segundo diccionario usando el método elementos ().

Finalmente, agregamos la clave y el valor al diccionario copiado.

La salida resultante es como se muestra:

'Mysql': 3306, 'PostgreSQL': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Usando el operador **

El operador ** Kwargs en Python nos permite pasar cualquier número de argumentos a una función. Por lo tanto, podemos usar este truco para desempacar los diccionarios en un nuevo dict.

Un ejemplo se ilustra a continuación:

relacional = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521
Otro = 'Redis': 6379, 'MongoDB': 27017
all = ** relacional, ** otro
imprimir todo)

El código anterior debería devolver:

'Mysql': 3306, 'PostgreSQL': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017

Uso del método de actualización

También podemos usar el método Update () en los diccionarios de Python para fusionar dos o más diccionarios.

A continuación se muestra un uso de ejemplo:

relacional = 'mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521
Otro = 'Redis': 6379, 'MongoDB': 27017
Todos = RELACIONALES.Copiar()
todo.Actualización (otro)
imprimir todo)

En el ejemplo anterior, comenzamos copiando el primer diccionario. Esto nos ayuda a evitar sobrescribir el primer diccionario.

Uso del método de mapa de cadena

También podemos usar el método de mapa de cadena del módulo de colecciones para fusionar dos diccionarios.

La función de mapa de cadena nos permite agrupar dos o más diccionarios en una sola vista actualizada.

Un ejemplo es como se muestra:

de colecciones Mapa de cadena de importación
all = chainmap (relacional, otro)
imprimir todo)

El mapa de cadena debe tomar los diccionarios como parámetros y devuelve un diccionario fusionado como se muestra:

ChainMap ('mysql': 3306, 'Postgresql': 5432, 'Oracle': 1521, 'Redis': 6379, 'MongoDB': 27017)

Tenga en cuenta que el tipo resultante no es un diccionario nativo de Python sino una clase.colecciones.Tipo de mapa de cadena.

Conclusión

En este artículo, nos sumergimos en varios métodos para fusionar dos o más diccionarios en Python.