Encontrar la clave por valor en el Diccionario Python

Jinku Hu 30 enero 2023
  1. Usa dict.items() para encontrar clave por valor en el diccionario Python
  2. Use .keys() y .values() para encontrar la clave por el valor en el diccionario Python
Encontrar la clave por 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
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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 Facebook

Artículo relacionado - Python Dictionary