Testen, ob sich mehrere Objekte in einer Liste befinden, die eine "in" -Anweisung (Python) verwenden [duplizieren]

8

Also ich möchte testen, ob sowohl Wort als auch Wort1 in der Liste sind. Natürlich könnte ich schreiben:

%Vor%

Aber ich fragte mich, ob ich diese Aussage auf etwas wie:

abkürzen könnte %Vor%

Natürlich funktioniert das nicht, aber gibt es etwas, das dem tatsächlich ähnlich ist?

Ich habe Folgendes versucht, aber wie Sie sehen, bringt es nicht das gewünschte Ergebnis.

%Vor%

BEARBEITEN: Danke für die Antworten. Ich denke, ich habe eine ziemlich gute Idee, wie ich das jetzt machen soll.

    
jusperino 04.09.2012, 21:16
quelle

4 Antworten

9

Die Antworten sind richtig (mindestens eine davon ist). Wenn Sie jedoch Containment-Prüfungen durchführen und sich nicht um die Reihenfolge kümmern, wie in Ihrem Beispiel vorgeschlagen, lautet die wirkliche Antwort, dass Sie Sets verwenden und nach Subsets suchen sollten.

%Vor%     
Julian 04.09.2012, 21:28
quelle
7

Erstellen Sie eine Liste Ihrer Wörter und einen Generatorausdruck, um zu prüfen, ob sie in der Liste enthalten sind:

%Vor%

all überprüft, ob alle Werte in einem iterable wahr sind. Da wir einen Generator verwenden, ist dieser immer noch kurzschlussoptimiert. Natürlich können Sie die Liste der Wörter, wenn es nicht zu groß für einen Einzeiler ist:

%Vor%     
l4mpi 04.09.2012 21:20
quelle
2

Du könntest es so machen:

%Vor%     
tbraun89 04.09.2012 21:24
quelle
1

Hinweis: Verwenden Sie das niemals. Es ist einfach hier, um "noch eine andere" Fähigkeit von Python zu veranschaulichen.

Eine weniger effiziente Lösung:

%Vor%     
Ashwini Chaudhary 04.09.2012 21:44
quelle