Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann man die Zugehörigkeit mehrerer Werte in einer Python-Liste genau testen?

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

Susan Sarandon
Susan SarandonOriginal
2024-10-28 18:32:29965Durchsuche

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)

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

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!

Stellungnahme:
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