Wie teste ich die Mitgliedschaft mehrerer Werte in einer Python-Liste?

Linda Hamilton
Freigeben: 2024-10-28 04:37:30
Original
473 Leute haben es durchsucht

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

Mitgliedschaftstest für mehrere Werte in einer Liste

Frage:

Wie kann man testen? wenn mehrere Werte Mitglieder einer Liste in Python sind? Das erwartete Ergebnis besteht darin, einen booleschen Wert zurückzugeben, der die Zugehörigkeit für jeden Wert angibt, aber der aktuelle Ansatz erzeugt eine unerwartete Ausgabe.

Erklärung:

Der bereitgestellte Codeausschnitt lautet: ' a','b' in ['b', 'a', 'foo', 'bar'] funktioniert nicht wie beabsichtigt, da Python es als Tupel und nicht als Mitgliedschaftstest für einzelne Werte interpretiert.

Antwort:

Um die Mitgliedschaft mehrerer Werte in einer Liste korrekt zu testen, verwenden Sie den folgenden Ausdruck:

<code class="python">all(x in ['b', 'a', 'foo', 'bar'] for x in ['a', 'b'])</code>
Nach dem Login kopieren

Dies gibt True zurück, wenn alle Werte in Die zweite Liste sind Mitglieder der ersten Liste und andernfalls Falsch.

Andere Optionen:

Verwenden von Mengen:

<code class="python">set(['a', 'b']).issubset(set(['a', 'b', 'foo', 'bar']))
{'a', 'b'} <= {'a', 'b', 'foo', 'bar'}</code>
Nach dem Login kopieren

Diese Methode funktioniert gut, wenn die Elemente in der Liste hashbar sind, kann jedoch ineffizient sein, wenn die Listen groß sind.

Geschwindigkeitstests:

Benchmark-Ergebnisse werden angezeigt dass der Teilmengentest (unter Verwendung von Mengen) im Allgemeinen schneller ist als der All-Ausdruck, der Unterschied jedoch nicht signifikant ist, es sei denn, die Listen sind klein und die Teilmengenoperation wird mit Mengen verwendet. Wenn die Elemente in den Listen jedoch nicht hashbar sind oder die Listen groß sind, ist der Ausdruck „all“ möglicherweise effizienter.

Schlussfolgerung:

Verwendung des Ausdrucks „all“. ist im Allgemeinen eine gute Vorgehensweise zum Testen mehrerer Werte in einer Liste, insbesondere wenn die Elemente nicht hashbar sind und die Effizienz ein Problem darstellt. Wenn die Elemente hashbar sind und die Listen klein sind, kann der Teilmengentest einen leichten Geschwindigkeitsvorteil bringen.

Das obige ist der detaillierte Inhalt vonWie teste ich die Mitgliedschaft mehrerer Werte in einer Python-Liste?. 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