Python – Actualizar diccionario con otro diccionario

A veces, mientras trabajamos con diccionarios de Python, podemos tener problemas en los que necesitamos realizar la actualización del diccionario con otras claves del diccionario. Esto puede tener aplicaciones en dominios en los que necesitamos agregar ciertos registros a registros capturados previamente. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usar bucle
Esta es una forma de fuerza bruta en la que se puede realizar esta tarea. En esto, buscamos claves en otro diccionario y agregamos los elementos en el nuevo diccionario.

# Python3 code to demonstrate working of 
# Update dictionary with other dictionary
# Using loop
  
# initializing dictionaries
test_dict1 = {'gfg' : 1, 'best' : 2, 'for' : 4, 'geeks' : 6}
test_dict2 = {'for' : 3, 'geeks' : 5}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# Update dictionary with other dictionary
# Using loop
for key in test_dict1:
    if key in test_dict2:
        test_dict1[key] = test_dict2[key]
  
# printing result 
print("The updated dictionary is : " + str(test_dict1)) 
Producción :

El diccionario original 1 es: {‘mejor’: 2, ‘para’: 4, ‘gfg’: 1, ‘geeks’: 6}
El diccionario original 2 es: {‘para’: 3, ‘geeks’: 5}
El diccionario actualizado es: {‘mejor’: 2, ‘para’: 3, ‘gfg’: 1, ‘geeks’: 5}

Método #2: Uso de la comprensión del diccionario
Esta es otra forma más en la que se puede realizar esta tarea. En esto, iteramos para el diccionario y realizamos la actualización en una sola línea usando comprensión.

# Python3 code to demonstrate working of 
# Update dictionary with other dictionary
# Using dictionary comprehension
  
# initializing dictionaries
test_dict1 = {'gfg' : 1, 'best' : 2, 'for' : 4, 'geeks' : 6}
test_dict2 = {'for' : 3, 'geeks' : 5}
  
# printing original dictionaries
print("The original dictionary 1 is : " + str(test_dict1))
print("The original dictionary 2 is : " + str(test_dict2))
  
# Update dictionary with other dictionary
# Using dictionary comprehension
res = {key : test_dict2.get(key, val)  for key, val in test_dict1.items()}
  
# printing result 
print("The updated dictionary is : " + str(res)) 
Producción :

El diccionario original 1 es: {‘mejor’: 2, ‘para’: 4, ‘gfg’: 1, ‘geeks’: 6}
El diccionario original 2 es: {‘para’: 3, ‘geeks’: 5}
El diccionario actualizado es: {‘mejor’: 2, ‘para’: 3, ‘gfg’: 1, ‘geeks’: 5}

Publicación traducida automáticamente

Artículo escrito por manjeet_04 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 *