HOWTO · Python

Trova chiave per valore nel dizionario Python

Questo tutorial mostra come ottenere la chiave per valore nel dizionario Python.

In questa pagina

Il dizionario è una raccolta di elementi in una coppia chiave-valore. Gli elementi memorizzati in un dizionario non sono ordinati. In questo articolo, introdurremo diversi modi per trovare la chiave per valore in un dizionario Python. Di solito si accede a un valore utilizzando una chiave, ma qui accediamo a una chiave utilizzando un valore. Qui la chiave è un’identità associata al valore.

Usa dict.items() per trovare la chiave per valore nel dizionario Python

Il metodo dict.items() restituisce una lista il cui singolo elemento è una tupla costituita dalla chiave del valore del dizionario. Possiamo ottenere la chiave iterando il risultato di dict.items() e confrontando il valore con il secondo elemento della tupla.

Codice di esempio:

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

Produzione:

John
Michael

Usa .keys() e .values() per trovare la chiave per valore nel dizionario Python

dict.keys() restituisce una lista costituito dalle chiavi del dizionario; dict.values() restituisce una lista composta dai valori del dizionario. L’ordine degli elementi generati in .keys() e .values() è lo stesso.

Il metodo index() della lista Python fornisce l’indice di un dato argomento. Possiamo passare il valore al metodo index() dell’lista di chiavi generato per ottenere l’indice di questo valore. Quindi la chiave potrebbe essere ottenuta accedendo alla lista dei valori generata con l’indice restituito.

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

Produzione:

John
Michael