El problema de encontrar un valor a partir de una clave dada es bastante común. Pero podemos tener un problema en el que deseamos obtener la tecla de retroceso de la tecla de entrada que alimentamos. Analicemos ciertas formas en que se puede resolver este problema.
Método n.º 1: uso del método Naive
En este método, simplemente ejecutamos un ciclo para cada uno de los valores y devolvemos la clave o claves correspondientes cuyo valor coincide. Esta es la forma de fuerza bruta para realizar esta tarea en particular.
Python3
# Python3 code to demonstrate working of # Search Key from Value # Using naive method # initializing dictionary test_dict = {'Gfg' : 1, 'for' : 2, 'CS' : 3} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing value val = 3 # Using naive method # Search key from Value for key in test_dict: if test_dict[key] == val: res = key # printing result print("The key corresponding to value : " + str(res))
The original dictionary is : {'Gfg': 1, 'for': 2, 'CS': 3} The key corresponding to value : CS
Método n.º 2: Usar elements() + comprensión de listas
Este problema se puede resolver fácilmente usando elements(), que se usa para extraer claves y valores a la vez, lo que facilita la búsqueda y puede ejecutarse usando la comprensión de listas, lo que lo convierte en un un trazador de líneas.
Python3
# Python3 code to demonstrate working of # Search Key from Value # Using items() + list comprehension # initializing dictionary test_dict = {'Gfg' : 1, 'for' : 2, 'CS' : 3} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing value val = 3 # Using items() + list comprehension # Search key from Value res = [key for key, value in test_dict.items() if value == val] # printing result print("The key corresponding to value : " + str(res))
The original dictionary is : {'Gfg': 1, 'for': 2, 'CS': 3} The key corresponding to value : ['CS']
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