Wie überprüft man in Python, ob ein Wert in einem Dictionary steht

  1. Verwenden Sie get() und Schlüssel, um zu prüfen, ob der Wert in einem Dictionary vorhanden ist
  2. Benutzen Sie values(), um zu prüfen, ob ein spezifizierter Wert in einem Dictionary vorhanden ist
  3. Prüfen, ob ein Wert in einem Dictionary vorhanden ist, wenn der Wert eine Liste ist

Dieses Tutorial zeigt, wie Sie prüfen können, ob ein Wert in einem Python-Dictionary vorhanden ist oder nicht. Hier werden relevante Themen behandelt, wie z.B. die Suche nach einem Wert, der durch einen Schlüssel gegeben ist, die Suche nach einem bestimmten Wert und die Suche nach einem Wert, der ein Objekt oder eine Sammlung ist.

Zu Beginn sollten Sie True drucken, wenn der Wert im Dictionary existiert; andernfalls drucken Sie False.

Verwenden Sie get() und Schlüssel, um zu prüfen, ob der Wert in einem Dictionary vorhanden ist

Wörterbücher in Python haben eine eingebaute Funktion key(), die den Wert des gegebenen Schlüssels zurückgibt. Gleichzeitig würde sie None zurückgeben, wenn sie nicht existiert. Sie können diese Funktion als Bedingung verwenden, um festzustellen, ob ein Wert innerhalb eines Dictionaries existiert oder nicht.

Lassen Sie uns zuerst ein einfaches Dictionary mit int-Schlüsseln und Zeichenkettenwerten deklarieren.

simpDict = {
            1: "Ant",
            2: "Bear",
            3: "Cat",
            4: "Dog",
            5: "Elephant"
}

Wenn Sie den Wert mit seinem Schlüsselpaar suchen wollen, dann ist die Funktion key() der richtige Weg. Wenn Sie zum Beispiel nach einem beliebigen Wert mit der 6 als Schlüssel suchen wollen, folgen Sie dem untenstehenden Code.

if (simpDict.key(6) != None):
    print("True")
else:
    print ("False")

Da die Funktion simpDict nicht den Schlüssel 6 hat, wird dieser Codeblock False ausgeben.

Benutzen Sie values(), um zu prüfen, ob ein spezifizierter Wert in einem Dictionary vorhanden ist

Im Gegensatz zu der Situation bei der Suche nach einem bestimmten Wert ist die Suche nach einem Schlüssel innerhalb eines Dictionaries sehr einfach; Sie müssen nur das Schlüsselwort in und den Schlüssel, den Sie im Dictionary suchen, verwenden.

print( 3 in simpDict )

Dies wird True ausgeben, da Schlüssel 3 existiert. Wenn wir die Zahl durch einen nicht existierenden Schlüssel ersetzen, dann wird False ausgegeben.

Andererseits können Sie die Funktion values() benutzen, wenn Sie nach einem bestimmten Wert im Dictionary suchen wollen. Der Befehl values() gibt eine Liste aller Werte innerhalb eines Dictionaries zurück. Mit values() können Sie das Schlüsselwort in für das Dictionary und den angegebenen Wert verwenden. Nehmen wir an, Sie wollen wissen, ob der Wert Elephant im Dictionary steht, dann führen Sie den folgenden Code aus:

print ( "Elephant" in simpDict.values() )

Diese Zeile wird True ausgeben, da das Wort Elephant in simpDict auf Schlüssel 5 existiert.

In Python 2.X gibt es noch zwei weitere Funktionen, die values() ähnlich sind, es sind die Funktionen itervalues() und viewvalues(); diese Funktionen sind in den Python 3.X-Versionen veraltet.

Die Befehle itervalues() und viewvalues() erledigen die gleiche Aufgabe wie der Befehl values(); allerdings haben unterschiedliche Implementierungen, obwohl sie sehr unbedeutend sind, große Auswirkungen auf die Laufzeit.

print ( "Elephant" in simpDict.itervalues() )
print ( "Elephant" in simpDict.viewvalues() )

Beide geben die gleiche Ausgabe wie die Funktion values() zurück. Es ist wichtig zu beachten, dass die Redundanz wahrscheinlich der Hauptgrund dafür ist, dass diese Funktionen von neueren Python-Versionen veraltet sind.

Was nun, wenn die Werte eines Dictionaries Datenstrukturen wie eine Liste oder ein Objekt sind? Lassen Sie es uns herausfinden.

Prüfen, ob ein Wert in einem Dictionary vorhanden ist, wenn der Wert eine Liste ist

listDict = {1: ['a', 'b'],
            2: ['b', 'c'],
            3: ['c', 'd'],
            4: ['d', 'e']}

Jetzt haben wir ein Dictionary mit int-Tasten und einer Liste von Zeichen als Werte.

Nehmen wir an, wir wollen suchen, ob die Liste ['c', 'd'] im Dictionary existiert.

print( ['c', 'd'] in listDict.values() )

Die resultierende Ausgabe wäre True; dies bestätigt, dass der Vergleich von Sammlungen durch Iteration des Dictionaries auch funktioniert.

Was aber, wenn Sie überprüfen wollen, ob ein Wert innerhalb eines Listenwertes im Dictionary existiert? Um dies zu lösen, führen Sie einfach eine Schleife über die Werte und verwenden das Schlüsselwort in auf der Liste statt im Dictionary.

Sie wollen zum Beispiel prüfen, ob das Zeichen 'e' innerhalb der Werte in dieser Liste existiert oder nicht. Hier ist der dafür auszuführende Code:

tof = False
for value in listDict.values():
  if ('e' in value):
    tof = True
    break
print(tof)

Die Ausgabe wird True ausgeben, da 'e' im Dictionary existiert.

Zusammengefasst: Verwenden Sie die Funktion values(), um über die Werte zu iterieren und zu vergleichen, ob der gesuchte Wert innerhalb der Werteliste existiert. Dies ist hilfreich, wenn Sie überprüfen wollen, ob ein bestimmter Wert in einem Dictionary existiert.

Verwandter Artikel - Python Dictionary

  • Dictionary in CSV schreiben in Python
  • Wie entfernt man einen Schlüssel aus einem Dictionary in Python