Python | Fusión de dos diccionarios

Hay varias formas en que los diccionarios se pueden fusionar mediante el uso de varias funciones y constructores en Python. En este artículo, discutiremos algunas formas de combinar diccionarios. 

Usando el método actualizar() 

Al usar el método update() en Python, una lista se puede fusionar con otra. Pero en esto, la segunda lista se fusiona con la primera lista y no se crea ninguna lista nueva. Devuelve Ninguno
 

Ejemplo: 

Python3

# Python code to merge dict using update() method
def Merge(dict1, dict2):
    return(dict2.update(dict1))
     
# Driver code
dict1 = {'a': 10, 'b': 8}
dict2 = {'d': 6, 'c': 4}
 
# This return None
print(Merge(dict1, dict2))
 
# changes made in dict2
print(dict2)

Producción:

None
{'c': 4, 'a': 10, 'b': 8, 'd': 6}

Usando ** en Python 
 

Esto generalmente se considera un truco en Python, donde se usa una sola expresión para fusionar dos diccionarios y se almacena en un tercer diccionario. La única expresión es **. Esto no afecta a los otros dos diccionarios. ** implica que un argumento es un diccionario. Usar ** [doble estrella] es un atajo que le permite pasar múltiples argumentos a una función directamente usando un diccionario. Para obtener más información, consulte **kwargs en Python . Usando esto, primero pasamos todos los elementos del primer diccionario al tercero y luego pasamos el segundo diccionario al tercero. Esto reemplazará las claves duplicadas del primer diccionario. 
 

Ejemplo: 

Python3

# Python code to merge dict using a single
# expression
def Merge(dict1, dict2):
    res = {**dict1, **dict2}
    return res
     
# Driver code
dict1 = {'a': 10, 'b': 8}
dict2 = {'d': 6, 'c': 4}
dict3 = Merge(dict1, dict2)
print(dict3)

Producción:

{'b': 8, 'a': 10, 'c': 4, 'd': 6}

Usando | en Python 3.9

En la última actualización de python ahora podemos usar “|” operador para fusionar dos diccionarios. Es un método muy conveniente para fusionar diccionarios.

Ejemplo:

Python3

# code
# Python code to merge dict using a single 
# expression
def Merge(dict1, dict2):
    res = dict1 | dict2
    return res
       
# Driver code
dict1 = {'x': 10, 'y': 8}
dict2 = {'a': 6, 'b': 4}
dict3 = Merge(dict1, dict2)
print(dict3)
 
# This code is contributed by virentanti16

Producción:

{'x': 10, 'a': 6,  'b': 4, 'y': 8}

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *