Wie vergleicht man zwei Listen in Python?
Einleitung
Beim Programmieren in Python oder beim Lernen von Python müssen Sie möglicherweise feststellen, ob zwei oder mehr Listen gleich sind. Beim Vergleich von Listen auf Gleichheit prüfen Sie, ob die Listen die gleiche Länge haben und ob jedes Element in der Liste gleich ist. Listen mit unterschiedlicher Länge sind niemals gleich.
In diesem Artikel wird beschrieben, wie Sie die folgenden Python-Funktionen verwenden können, um Listen zu vergleichen:
sort()
-Methode odersorted()
-Funktion mit dem==
-Operatorset()
-Funktion mit dem==
-Operatorreduce()
– undmap()
-Funktionen mit dem==
-Operatorcollections.Counter()
-Klasse mit dem==
-Operator- List Comprehension
Verwendung der sort()
-Methode oder der sorted()
-Funktion zum Vergleichen von Listen
Sie können die sort()
-Methode oder die sorted()
-Funktion verwenden, um Listen zu sortieren, um sie auf Gleichheit zu vergleichen. Die sort()
-Methode sortiert die Liste direkt, während die sorted()
-Funktion eine neue sortierte Liste zurückgibt. Nach dem Sortieren haben gleiche Listen dieselben Elemente an denselben Indexpositionen. Der ==
-Operator vergleicht die Listen Element für Element (elementweiser Vergleich).
Die Reihenfolge der ursprünglichen Listenelemente ist nicht wichtig, da die Listen vor dem Vergleich sortiert werden.
Hinweis: Sie können nur Listen mit Elementen desselben Datentyps sortieren.
Beispiel: sort()
-Methode
l1 = [10, 20, 30, 40, 50]
l2 = [20, 30, 50, 40, 70]
l3 = [50, 10, 30, 20, 40]
l1.sort()
l2.sort()
l3.sort()
if l1 == l2:
print ("Die Listen l1 und l2 sind gleich")
else:
print ("Die Listen l1 und l2 sind nicht gleich")
if l1 == l3:
print ("Die Listen l1 und l3 sind gleich")
else:
print ("Die Listen l1 und l3 sind nicht gleich")
Ausgabe:
Die Listen l1 und l3 sind gleich
Die Listen l1 und l2 sind nicht gleich
Beispiel: sorted()
-Funktion
l1 = [10, 20, 30, 40, 50]
l2 = [20, 30, 50, 40, 70]
l3 = [50, 10, 30, 20, 40]
l1_sorted = sorted(l1)
l2_sorted = sorted(l2)
l3_sorted = sorted(l3)
if l1_sorted == l2_sorted:
print ("Die Listen l1 und l2 sind gleich")
else:
print ("Die Listen l1 und l2 sind nicht gleich")
if l1_sorted == l3_sorted:
print ("Die Listen l1 und l3 sind gleich")
else:
print ("Die Listen l1 und l3 sind nicht gleich")
Ausgabe:
Die Listen l1 und l3 sind gleich
Die Listen l1 und l2 sind nicht gleich
Verwendung der reduce()
– und map()
-Funktionen zum Vergleichen von Listen
Sie können die Python-Funktion map()
zusammen mit der Funktion functools.reduce()
verwenden, um die Elemente zweier Listen zu vergleichen. Die map()
-Funktion wendet die gegebene Funktion auf jedes Element an, und die reduce()
-Funktion sorgt dafür, dass sie in aufeinanderfolgender Weise angewendet wird.
Hinweis: Die Reihenfolge der Listenelemente ist wichtig, wenn Sie reduce()
und map()
verwenden. Sortieren Sie die Listen gegebenenfalls zuerst.
import functools
l1 = [10, 20, 30, 40, 50]
l2 = [20, 30, 50, 40, 70]
l3 = [10, 20, 30, 40, 50]
if functools.reduce(lambda x, y : x and y, map(lambda p, q: p == q, l1, l2), True):
print ("Die Listen l1 und l2 sind gleich")
else:
print ("Die Listen l1 und l2 sind nicht gleich")
if functools.reduce(lambda x, y : x and y, map(lambda p, q: p == q, l1, l3), True):
print ("Die Listen l1 und l3 sind gleich")
else:
print ("Die Listen l1 und l3 sind nicht gleich")
Ausgabe:
Die Listen l1 und l2 sind nicht gleich
Die Listen l1 und l3 sind gleich
Verwendung der set()
-Funktion zum Vergleichen von Listen
Sie können die Funktion set()
verwenden, um Set-Objekte aus den gegebenen Listen zu erstellen und die Sets dann mit dem ==
-Operator auf Gleichheit zu vergleichen.
Hinweis: Doppelte Listenelemente erscheinen in einem Set nur einmal.
l1 = [10, 20, 30, 40, 50]
l2 = [50, 10, 30, 20, 40]
a = set(l1)
b = set(l2)
if a == b:
print("Die Listen l1 und l2 sind gleich")
else:
print("Die Listen l1 und l2 sind nicht gleich")
Ausgabe:
Die Listen l1 und l2 sind gleich
Fazit
In diesem Artikel wurden einige verschiedene Methoden beschrieben, wie Sie Listen in Python auf Gleichheit vergleichen können. Lernen Sie mit weiteren Python-Tutorials weiter.