Python abfragen ob nur ein Element in Liste ist?

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.

Woher ich das weiß:Studium / Ausbildung