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))
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))
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