Heim  >  Artikel  >  Backend-Entwicklung  >  So prüfen Sie effizient, ob Elemente in einer Liste vorhanden sind: Verknüpfungen und Best Practices

So prüfen Sie effizient, ob Elemente in einer Liste vorhanden sind: Verknüpfungen und Best Practices

DDD
DDDOriginal
2024-11-17 06:36:03966Durchsuche

How to Efficiently Check for Element Existence in a List: Shortcuts and Best Practices

Mit Tastenkombinationen auf das Vorhandensein von Elementen in einer Liste prüfen

Es ist eine häufige Aufgabe, zu überprüfen, ob sich ein oder mehrere Elemente in einer Liste befinden. Anstatt eine aufwändige Funktion zu entwickeln, können Sie die folgenden prägnanten Ansätze verwenden.

Der Python-Operator or wertet seine Argumente nacheinander aus und gibt den ersten wahren oder nicht leeren Wert zurück. Auch wenn dies wie eine Lösung erscheint, reicht es im Fall von Listen nicht aus. Wie oben gezeigt, wird (1 oder 2) in a als Falsch ausgewertet, während (2 oder 1) in a als Wahr ausgewertet wird. Dies geschieht, weil 1 in einem booleschen Kontext als „Falsch“ ausgewertet wird, was dazu führt, dass der Ausdruck in a äquivalent zu „Falsch“ ist.

Eine effizientere und lesbarere Methode ist die Verwendung eines Listenverständnisses oder einer Mengenschnittmenge. Mithilfe des Listenverständnisses können Sie die Elemente der ersten Liste basierend auf ihrer Präsenz in der zweiten Liste filtern. Zum Beispiel:

L1 = [2, 3, 4]
L2 = [1, 2]
[i for i in L1 if i in L2]  # Returns [2]

Alternativ können Sie die Listen in Mengen umwandeln, eine Mengenüberschneidung durchführen und den booleschen Wert der resultierenden Menge verwenden. Dieser Ansatz ist für den effizienten Umgang mit doppelten Elementen von Vorteil:

S1 = set(L1)
S2 = set(L2)
S1.intersection(S2)  # Returns set([2])

Sowohl leere Listen als auch leere Mengen werden als „Falsch“ ausgewertet, sodass Sie deren Vorhandensein direkt mithilfe der booleschen Logik beurteilen können.

Das obige ist der detaillierte Inhalt vonSo prüfen Sie effizient, ob Elemente in einer Liste vorhanden sind: Verknüpfungen und Best Practices. 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