Trova chiave per valore nel dizionario Python

Jinku Hu 30 gennaio 2023
  1. Usa dict.items() per trovare la chiave per valore nel dizionario Python
  2. Usa .keys() e .values() per trovare la chiave per valore nel dizionario Python
Trova chiave per valore nel dizionario Python

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
Autore: 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

Articolo correlato - Python Dictionary