Heim >Backend-Entwicklung >Python-Tutorial >Wie kann man effizient nach mehreren Elementen in einer Liste suchen: Listenverständnis vs. Mengenüberschneidung?
Entdecken einer schnellen Lösung zum Überprüfen auf mehrere Elemente in einer Liste
Das Ermitteln, ob ein bestimmtes Element in einer Liste vorhanden ist, ist ein grundlegender Vorgang in Programmierung. Gibt es neben der Erstellung einer benutzerdefinierten Funktion einen prägnanteren Ansatz, um dies zu überprüfen?
Versuche mit booleschen Operatoren (z. B. print (1 oder 2) in a) können zu unerwarteten Ergebnissen führen. Um dieses Problem anzugehen, führen wir zwei effiziente Methoden ein: Listenverständnis und Mengenschnittmenge.
Listenverständnis
Listenverständnis bietet eine prägnante Möglichkeit, eine Liste basierend auf einem Prädikat zu filtern . Das folgende Python-Snippet demonstriert seine Verwendung:
L1 = [2,3,4] L2 = [1,2] [i for i in L1 if i in L2]
Dieser Vorgang gibt eine neue Liste zurück, die nur Elemente von L1 enthält, die auch in L2 vorhanden sind. In diesem Fall lautet die resultierende Liste [2], was darauf hinweist, dass 2 das einzige gemeinsame Element ist.
Schnittmenge festlegen
Ein weiterer effektiver Ansatz nutzt Mengen. Indem wir die Eingabelisten mit der Funktion set() in Mengen umwandeln, können wir ihren Schnittpunkt mit der Methode intersect() finden:
S1 = set(L1) S2 = set(L2) S1.intersection(S2)
Der Schnittpunkt von Mengen gibt einen neuen Satz zurück, der Elemente enthält, die in beiden vorhanden sind Sätze. In diesem Beispiel ist das Ergebnis set([2]), was die Existenz von 2 als gemeinsames Element bestätigt.
Boolesche Werte nutzen
Sowohl leere als auch leere Listen setzt „evaluieren“ auf „Falsch“. Diese Eigenschaft ermöglicht es uns, ihre Wahrheitswerte direkt in bedingten Anweisungen zu verwenden:
if [i for i in L1 if i in L2]: print("2 exists in L2") else: print("No common element found")
Schlussfolgerung
Durch die Verwendung von Listenverständnis oder Schnittmengen können wir effizient bestimmen, ob welche vorhanden sind Es werden mehrere Elemente in einer bestimmten Liste angezeigt, was eine präzise und praktische Lösung für diese häufige Codierungsaufgabe bietet.
Das obige ist der detaillierte Inhalt vonWie kann man effizient nach mehreren Elementen in einer Liste suchen: Listenverständnis vs. Mengenüberschneidung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!