Programa Python para cambiar el valor de un diccionario si es igual a K

Dado un diccionario, cambie el valor si es igual a K. 

Entrada : test_dict = {“Gfg”: 4, “is”: 8, “mejor”: 10, “para”: 8, “geeks”: 19}, K = 8, repl_val = 25 
Salida : {‘Gfg’: 4, ‘es’: 25, ‘mejor’: 10, ‘para’: 25, ‘geeks’: 19} 
Explicación : todos los valores con 8 se convierten en 25.

Entrada : test_dict = {“Gfg”: 6, “is”: 8, “mejor”: 10, “para”: 8, “geeks”: 19}, K = 6, repl_val = 25 
Salida : {‘Gfg’: 25, ‘es’: 8, ‘mejor’: 10, ‘para’: 8, ‘geeks’: 19} 
Explicación : todos los valores con 6 se convierten en 25. 

Método #1: Usar un bucle

Esta es una forma bruta en la que se puede realizar esta tarea. En esto, iteramos para todas las claves y valores de los diccionarios, y si encontramos una coincidencia, se lleva a cabo la conversión requerida.

Python3

# Python3 code to demonstrate working of 
# Change value if value equals K in dictionary
# Using loop
  
# initializing dictionary
test_dict = {"Gfg": 4, "is": 8, "best": 10, "for": 8, "geeks": 19}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing K  
K = 8
  
# initializing repl_val 
repl_val = 20
  
# iterating dictionary
for key, val in test_dict.items():
      
    # checking for required value
    if val == K:
        test_dict[key] = repl_val
  
# printing result 
print("The dictionary after values replacement : " + str(test_dict))
Producción

El diccionario original es: {‘Gfg’: 4, ‘is’: 8, ‘best’: 10, ‘for’: 8, ‘geeks’: 19}
El diccionario después del reemplazo de valores: {‘Gfg’: 4, ‘ es’: 20, ‘mejor’: 10, ‘para’: 20, ‘geeks’: 19}

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

Esta es una alternativa de una sola línea para resolver este problema. En esto, iteramos y asignamos la creación de un nuevo diccionario en lugar de realizar un reemplazo en el lugar como en el método anterior.

Python3

# Python3 code to demonstrate working of 
# Change value if value equals K in dictionary
# Using dictionary comprehension
  
# initializing dictionary
test_dict = {"Gfg": 4, "is": 8, "best": 10, "for": 8, "geeks": 19}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# initializing K  
K = 8
  
# initializing repl_val 
repl_val = 20
  
# one-liner to solve for dictionary
res = {key : repl_val if val == K else val for key, val in test_dict.items()}
  
# printing result 
print("The dictionary after values replacement : " + str(res))
Producción

El diccionario original es: {‘Gfg’: 4, ‘is’: 8, ‘best’: 10, ‘for’: 8, ‘geeks’: 19}
El diccionario después del reemplazo de valores: {‘Gfg’: 4, ‘ es’: 20, ‘mejor’: 10, ‘para’: 20, ‘geeks’: 19}

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 *