Heim  >  Artikel  >  Backend-Entwicklung  >  Gibt es eine effizientere Möglichkeit, zu überprüfen, ob ein Element aus einer Liste in einer anderen Liste vorhanden ist?

Gibt es eine effizientere Möglichkeit, zu überprüfen, ob ein Element aus einer Liste in einer anderen Liste vorhanden ist?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-21 07:58:09746Durchsuche

Is there a More Efficient Way to Check if Any Item From One List Exists in Another List?

Einbeziehen mehrerer Elemente in die Listenüberprüfung

Die erste Frage dreht sich darum, eine effiziente Methode zu finden, um festzustellen, ob ein Element aus einer bestimmten Liste vorhanden ist innerhalb einer anderen Liste. Anstatt eine benutzerdefinierte Funktion zu verwenden, werden in diesem Artikel alternative Ansätze zur Bewältigung dieses Szenarios untersucht.

Ansatz 1: Listenverständnis

Wie unten beispielhaft dargestellt, kann ein Listenverständnis eingesetzt werden um Elemente in der ersten Liste zu isolieren, die in der zweiten Liste vorhanden sind:

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

Dieser Ansatz ergibt eine Liste übereinstimmender Elemente, die den booleschen Wert True hat, wenn sie Elemente enthält. Im gegebenen Beispiel wird [2] zurückgegeben.

Ansatz 2: Schnittmenge festlegen

Alternativ können Mengen für effizientere Listenvergleiche verwendet werden. Durch Konvertieren jeder Liste in eine Menge kann ihr Schnittpunkt wie folgt ermittelt werden:

S1 = set(L1)
S2 = set(L2)
S1.intersection(S2)

Ähnlich wie beim Listenverständnis enthält der Schnittpunkt der beiden Mengen nur die übereinstimmenden Elemente. Da leere Mengen als „Falsch“ ausgewertet werden, kann das Schnittergebnis direkt als Wahrheitswert verwendet werden.

Überlegungen zur logischen Auswertung

Es ist wichtig zu beachten, dass es einen gibt Das übereinstimmende Element reicht aus, um in beiden Ansätzen „True“ zurückzugeben. Daher ist diese Methode möglicherweise nicht für Szenarien geeignet, in denen alle Elemente vorhanden sein müssen.

Das obige ist der detaillierte Inhalt vonGibt es eine effizientere Möglichkeit, zu überprüfen, ob ein Element aus einer Liste in einer anderen Liste vorhanden ist?. 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