Python: reemplaza el valor del diccionario de otro diccionario

Dados dos diccionarios, actualice los valores de otro diccionario si la clave está presente en otro diccionario.

Entrada : test_dict = {“Gfg”: 5, “is”: 8, “Best”: 10, “for”: 8, “Geeks”: 9},
updict = {“Geeks”: 10, “Best”: 17 }
Salida : {‘Gfg’: 5, ‘is’: 8, ‘Best’: 17, ‘for’: 8, ‘Geeks’: 10}
Explicación : los valores «Geeks» y «Best» se actualizaron a 10 y 17.

Entrada : test_dict = {“Gfg”: 5, “is”: 8, “Best”: 10, “for”: 8, “Geeks”: 9},
updict = {“Geek”: 10, “Bet”: 17 }
Salida : {‘Gfg’: 5, ‘is’: 8, ‘Best’: 10, ‘for’: 8, ‘Geeks’: 9}
Explicación : No hay valores coincidentes, por lo tanto, diccionario original.

Método #1: Usar bucle 

Esta es la forma bruta en la que se puede realizar esta tarea. En esto, ejecutamos un bucle para cada clave en el diccionario de destino y lo actualizamos en caso de que el valor esté presente en otro diccionario.

Python3

# Python3 code to demonstrate working of 
# Replace dictionary value from other dictionary
# Using loop
  
# initializing dictionary
test_dict = {"Gfg" : 5, "is" : 8, "Best" : 10, "for" : 8, "Geeks" : 9}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing updict
updict = {"Gfg"  : 10, "Best" : 17}
  
for sub in test_dict:
      
    # checking if key present in other dictionary
    if sub in updict:
        test_dict[sub]  = updict[sub]
  
# printing result 
print("The updated dictionary: " + str(test_dict)) 
Producción

El diccionario original es: {‘Gfg’: 5, ‘is’: 8, ‘Best’: 10, ‘for’: 8, ‘Geeks’: 9}
El diccionario actualizado: {‘Gfg’: 10, ‘is’ : 8, ‘Mejor’: 17, ‘para’: 8, ‘Geeks’: 9}

Método #2: Usar la comprensión del diccionario

Este es un enfoque de línea en el que se puede realizar esta tarea. En esto, iteramos para todos los valores del diccionario y actualizamos de una sola línea en la comprensión del diccionario.

Python3

# Python3 code to demonstrate working of 
# Replace dictionary value from other dictionary
# Using dictionary comprehension
  
# initializing dictionary
test_dict = {"Gfg" : 5, "is" : 8, "Best" : 10, "for" : 8, "Geeks" : 9}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing updict
updict = {"Gfg"  : 10, "Best" : 17}
  
res = {key: updict.get(key, test_dict[key]) for key in test_dict}
  
# printing result 
print("The updated dictionary: " + str(res)) 
Producción

El diccionario original es: {‘Gfg’: 5, ‘is’: 8, ‘Best’: 10, ‘for’: 8, ‘Geeks’: 9}
El diccionario actualizado: {‘Gfg’: 10, ‘is’ : 8, ‘Mejor’: 17, ‘para’: 8, ‘Geeks’: 9}

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 *