Heim >Backend-Entwicklung >Python-Tutorial >Warum funktioniert \'(\'a\', \'b\') in [\'b\', \'a\', \'foo\', \'bar\']\' nicht als? Erwartet, dass mehrere Werte in einer Liste überprüft werden?
So überprüfen Sie, ob mehrere Werte zu einer Liste gehören
Frage:
Das muss ich tun Stellen Sie fest, ob mehrere Werte in einer Liste vorhanden sind, der folgende Code jedoch unerwartete Ergebnisse liefert:
'a','b' in ['b', 'a', 'foo', 'bar']
Warum funktioniert dieser Code nicht wie beabsichtigt und wie kann ich die Zugehörigkeit mehrerer Werte effizient überprüfen?
Antwort:
Python interpretiert den Codeausschnitt als Tupelvergleich, nicht als gewünschten Listenmitgliedschaftstest. Um das Vorhandensein mehrerer Werte korrekt zu testen, verwenden Sie den folgenden Ansatz:
all(x in container for x in items)
Wobei „Container“ die zu testende Liste oder andere Sequenz ist und „items“ die Iterable ist, die die zu suchenden Werte enthält.
Zusätzliche Überlegungen:
Fazit:
Der all(x in-Container für x in items)-Methode ist eine vielseitige und effiziente Lösung zum Überprüfen der Zugehörigkeit mehrerer Werte in einer Liste oder einem anderen Container. Abhängig von den spezifischen Anforderungen kann die Umstellung auf Sets oder die Verwendung von Generatoren die Leistung weiter optimieren.
Das obige ist der detaillierte Inhalt vonWarum funktioniert \'(\'a\', \'b\') in [\'b\', \'a\', \'foo\', \'bar\']\' nicht als? Erwartet, dass mehrere Werte in einer Liste überprüft werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!