HOWTO · Python

Schlüssel nach Wert im Python-Dictionary suchen

Dieses Tutorial demonstriert, wie man in einem Python-Dictionary den Schlüssel nach dem Wert sucht.

Auf dieser Seite

Ein Dictionary ist eine Sammlung von Elementen in einem Schlüssel-Werte-Paar. Elemente, die in einem Dictionary gespeichert sind, sind nicht geordnet. In diesem Artikel werden wir verschiedene Möglichkeiten vorstellen, um Schlüssel nach Wert in einem Python-Dictionary zu finden. Normalerweise wird auf einen Wert über einen Schlüssel zugegriffen, aber hier werden wir auf einen Schlüssel über einen Wert zugreifen. Hier ist der Schlüssel eine Identität, die mit dem Wert verbunden ist.

Verwenden Sie dict.items(), um den Schlüssel über den Wert in einem Python-Dictionary zu finden

Die Methode dict.items() gibt eine Liste zurück, deren einzelnes Element ein Tupel ist, das aus dem Schlüssel des Wertes des Dictionaries besteht. Wir können den Schlüssel ermitteln, indem wir das Ergebnis von dict.items() iterieren und den Wert mit dem zweiten Element des Tupels vergleichen.

Beispiel-Code:

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

Ausgabe:

John
Michael

Verwenden Sie .keys() und .values(), um den Schlüssel durch den Wert im Python-Dictionary zu finden

dict.keys() gibt eine Liste zurück, die aus Schlüsseln des Dictionaries besteht; dict.values() gibt eine Liste zurück, die aus Werten des Dictionaries besteht. Die Reihenfolge der Elemente, die in .keys() und .values() erzeugt werden, ist gleich.

Die Methode index() der Python-Liste liefert den Index des angegebenen Arguments. Wir können den Wert an die Methode index() der generierten Schlüsselliste übergeben, um den Index dieses Wertes zu erhalten. Dann könnte man den Schlüssel erhalten, indem man mit dem zurückgegebenen Index auf die generierte Werteliste zugreift.

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

Ausgabe:

John
Michael