Wie kann man die Zugehörigkeit mehrerer Werte in einer Python-Liste genau testen?

Susan Sarandon
Freigeben: 2024-10-28 18:32:29
Original
973 Leute haben es durchsucht

How to Accurately Test for the Membership of Multiple Values in a Python List?

Testen der Mitgliedschaft mehrerer Werte in einer Python-Liste

Testen der Mitgliedschaft mehrerer Werte in einer Liste in Python mithilfe des „in“ Bediener kann zu unerwarteten Ergebnissen führen. Betrachten Sie das folgende Beispiel:

'a','b' in ['b', 'a', 'foo', 'bar']
('a', True)
Nach dem Login kopieren

Das Ergebnis „a“, True zeigt an, dass „a“ in der Liste vorhanden ist, gibt jedoch nicht an, ob „b“ auch vorhanden war. Dies liegt daran, dass Python den Ausdruck „in“ als Tupel behandelt, was zu der oben gezeigten Ausgabe führt.

Um genau zu überprüfen, ob sowohl „a“ als auch „b“ in der Liste vorhanden sind, können Sie Folgendes verwenden Ansatz:

all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b'])
True
Nach dem Login kopieren

Dieser Ausdruck stellt sicher, dass jedes Element in der Liste ['a', 'b'] im Container ['b', 'a', 'foo', 'bar'“ enthalten ist. ]. Wenn eines der Elemente nicht vorhanden ist, gibt der Ausdruck „False“ zurück.

Alternative Optionen

Neben der Funktion „Alle“ gibt es noch andere Methoden, um diese Prüfung durchzuführen , aber sie sind möglicherweise nicht so vielseitig wie der „Alle“-Ansatz.

  • Schnittmengen festlegen: Mengen können zum Testen der Mitgliedschaft mithilfe der „issubset“-Methode verwendet werden. Allerdings können Sätze nur hashbare Elemente enthalten, was ihre Anwendbarkeit auf bestimmte Datentypen einschränkt.
  • Generatorausdruck: Ein Generatorausdruck kann verwendet werden, um die gleiche Operation wie „alle“ auszuführen. aber möglicherweise werden nicht alle Arten von Eingaben so effektiv verarbeitet.

Geschwindigkeitsüberlegungen

In bestimmten Situationen kann der Teilmengentest schneller sein als der „Alle“-Test. Vorgehensweise, insbesondere wenn der Behälter und die Testgegenstände klein sind. Der Gesamtgeschwindigkeitsunterschied ist jedoch nicht erheblich genug, um die überwiegende Verwendung des Teilmengentests zu rechtfertigen.

Es ist wichtig zu beachten, dass das Verhalten von „in“ von der Art des linken Arguments abhängt. Wenn Sie beispielsweise „in“ mit einer Zeichenfolge verwenden, werden die Werte verkettet, anstatt die Mitgliedschaft zu testen.

Die Wahl des besten Ansatzes zum Testen der Mitgliedschaft mehrerer Werte in einer Liste hängt von den spezifischen Anforderungen und den beteiligten Datentypen ab , und Leistungsüberlegungen.

Das obige ist der detaillierte Inhalt vonWie kann man die Zugehörigkeit mehrerer Werte in einer Python-Liste genau testen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!