Encontrar la clave por valor en el Diccionario Python
-
Usa
dict.items()
para encontrar clave por valor en el diccionario Python -
Use
.keys()
y.values()
para encontrar la clave por el valor en el diccionario Python
El diccionario es una colección de elementos en un par clave-valor. Los elementos almacenados en un diccionario no están ordenados. En este artículo, presentaremos diferentes formas de encontrar clave por valor en un diccionario de Python. Normalmente, se accede a un valor mediante una clave, pero aquí accederemos a una clave mediante un valor. Aquí la clave es una identidad asociada al valor.
Usa dict.items()
para encontrar clave por valor en el diccionario Python
El método dict.items()
devuelve una lista cuyo elemento individual es una tupla que consiste en la clave del valor del diccionario. Podemos obtener la clave iterando el resultado de dict.items()
y comparando el valor
con el segundo elemento de la tupla.
Código de ejemplo:
my_dict = {"John": 1, "Michael": 2, "Shawn": 3}
def get_key(val):
for key, value in my_dict.items():
if val == value:
return key
return "There is no such Key"
print(get_key(1))
print(get_key(2))
Resultado:
John
Michael
Use .keys()
y .values()
para encontrar la clave por el valor en el diccionario Python
dict.keys()
devuelve una lista que consiste en claves del diccionario; dict.values()
devuelve una lista que consiste en valores del diccionario. El orden de los elementos generados en .keys()
y .values()
es el mismo.
El método index()
de la lista Python da el índice del argumento dado. Podemos pasar el valor
al método index()
de la lista de claves generada para obtener el índice de este valor. Entonces la clave podría obtenerse accediendo a la lista de valores generada con el índice devuelto.
my_dict = {"John": 1, "Michael": 2, "Shawn": 3}
list_of_key = list(my_dict.keys())
list_of_value = list(my_dict.values())
position = list_of_value.index(1)
print(list_of_key[position])
position = list_of_value.index(2)
print(list_of_key[position])
Resultado:
John
Michael
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookArtículo relacionado - Python Dictionary
- Cómo comprobar si existe una clave en un diccionario en Python
- Convertir un diccionario en una lista en Python
- Cómo obtener todos los archivos de un directorio
- Cómo encontrar el valor máximo en el Diccionario Python
- Cómo ordenar un diccionario Python por valor
- Cómo fusionar dos diccionarios en Python 2 y 3