Python abfragen ob nur ein Element in Liste ist?
Hallo,
wie kann ich überprüfen ob ein Element mit einem besonderen Namen in einer Liste ist. Aber nur wenn dieses eine Element alleine in der Liste ist, also sprich wenn jetzt Text alleine in der Liste ist soll er sagen "Ja", wenn jedoch Text + Text2 in der Liste sind soll er es ignorieren.
Liebe Grüße
4 Antworten
Du müsstest die Liste einmal durchgehen
Dabei jedes Element frühen ob Text enthalten ist.
Je gefundenen Text einen Zähler hochzählen.
Am Ende frühen ob Zähler 1 ist
Also die Liste darf nur ein Wort enthalten und das Wort muss das sein, was du eingegeben hast?
liste = ["Wort"] # Beispiel. Die Liste hat als einzigen Eintrag das Wort "Wort".
wort = input("Welches Wort suchst du? ")
print("Ja" if liste == [wort] else "Nein")
>>> l=["Wort",12,"Wurst","Brot",99.2]
>>> 12 in l
True
>>> "Wurst" in l
True
>>> "Worst" in l
False
Einfach den IN-Operator nutzen - allerdings führt der einen linearen Scan durch, was bei großen Listen ungünstig ist.
Die Frage ist etwas unverständlich.
Wenn du mit Strings (Zeichenketten/Wörtern/Sätzen), dann wäre RegEx wohl der professionelle Ansatz.
Wenn du nun wirklich Elemente (Datentypen/Objekte) in einer Liste hast, dann wird deine Liste in dem Fall doch auch nur einen Eintrag haben. Dann fragst du ab, ob die Liste genau die Größe 1 hat. Wenn dem so ist, dann überprüfst du dein 'Element' nach den spezifischen Kriterien. Andernfalls sagst du immer Nein. Und bei den Kriterien kannst du bei den primitiven Datentypen (Integer, Boolean, float, etc pp) eine einfache Gleichstellung ansetzen. Bei Objekten oder anderen Datentypen musst du schon genauer nach fragen. Auf bestimmte Eigenschaften überprüfen.
Dann solltest du es fertig haben.