Wie überprüft man in Python, ob ein Wert in einem Dictionary steht
-
Verwenden Sie
get()
und Schlüssel, um zu prüfen, ob der Wert in einem Dictionary vorhanden ist -
Benutzen Sie
values()
, um zu prüfen, ob ein spezifizierter Wert in einem Dictionary vorhanden ist - 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.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInVerwandter Artikel - Python Dictionary
- Wie man prüft, ob ein Schlüssel in einem Dictionary in Python vorhanden ist
- Konvertieren eines Dictionaries in eine Liste in Python
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie finde ich den Maximalwert im Python-Dictionary
- Wie man ein Python-Dictionary nach Wert sortiert
- Wie man zwei Wörterbücher in Python 2 und 3 zusammenführen kann