Heim  >  Artikel  >  Backend-Entwicklung  >  So prüfen Sie effizient nach übereinstimmenden Elementen in Listen: Verknüpfungsmethoden

So prüfen Sie effizient nach übereinstimmenden Elementen in Listen: Verknüpfungsmethoden

Barbara Streisand
Barbara StreisandOriginal
2024-11-17 10:46:03827Durchsuche

How to Efficiently Check for Matching Items in Lists: Shortcut Methods

Abkürzungsansätze zur Prüfung auf übereinstimmende Elemente in einer Liste

Traditionell erfordert die Überprüfung auf das Vorhandensein bestimmter Elemente in einer Liste die Erstellung einer Funktion das jedes Element einzeln untersucht. Es gibt jedoch mehrere prägnante Methoden, mit denen diese Aufgabe effektiv gelöst werden kann.

Eine dieser Methoden nutzt das Listenverständnis. Angenommen, eine Liste L1 und eine Liste zu überprüfender Elemente L2:

[i for i in L1 if i in L2]

Dieses Verständnis gibt eine Unterliste zurück, die nur die übereinstimmenden Elemente enthält, die als Wahrheitswert ausgewertet werden können. Wenn die Unterliste leer ist, ergibt ihre Auswertung Falsch, andernfalls ergibt sie Wahr.

L1 = [2,3,4]
L2 = [1,2]
print(bool([i for i in L1 if i in L2]))  # True

Ein anderer Ansatz verwendet festgelegte Schnittmengen. Durch die Umwandlung von L1 und L2 in Mengen (eindeutige Elementsammlungen) ergibt die Schnittmenge dieser Mengen eine Menge, die nur die gemeinsamen Elemente enthält. Ähnlich wie beim Listenverständnis ergibt die Auswertung einer leeren Schnittmenge als Wahrheitswert „Falsch“.

S1 = set(L1)
S2 = set(L2)
print(bool(S1.intersection(S2)))  # True

Diese Abkürzungsmethoden bieten effiziente und prägnante Alternativen zu funktionsbasierten Implementierungen.

Das obige ist der detaillierte Inhalt vonSo prüfen Sie effizient nach übereinstimmenden Elementen in Listen: Verknüpfungsmethoden. 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