„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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

Veröffentlicht am 12.11.2024
Durchsuche:413

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

Überprüfung der Existenz von Elementen in einer Liste mithilfe von Verknüpfungen

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 wahrheitsgemäßen 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]

zurück. Alternativ können Sie die Listen in Mengen konvertieren, eine Mengenüberschneidung durchführen und den booleschen Wert der resultierenden Menge verwenden. Dieser Ansatz ist vorteilhaft, wenn doppelte Elemente effizient verarbeitet werden sollen:

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

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

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3