Trova chiave per valore nel dizionario Python
-
Usa
dict.items()
per trovare la chiave per valore nel dizionario Python -
Usa
.keys()
e.values()
per trovare la 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
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