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 oder sorted()-Funktion mit dem ==-Operator
  • set()-Funktion mit dem ==-Operator
  • reduce()– und map()-Funktionen mit dem ==-Operator
  • collections.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.

Kostenlosen Account erstellen

Registrieren Sie sich jetzt und erhalten Sie Zugang zu unseren Cloud Produkten.

Das könnte Sie auch interessieren:

centron Managed Cloud Hosting in Deutschland

Wie man String und Int in Python verknüpft

Python
Wie man String und Int in Python verknüpft Content1 Einleitung2 Beispiel3 Voraussetzungen für String und Int in Python4 Verwendung der str()-Funktion für String und Int in Python5 Verwendung des %-Interpolationsoperators…
centron Managed Cloud Hosting in Deutschland

Dateigröße in Python: Anleitung mit Beispielen

Python, Tutorial
Dateigröße in Python Das os-Modul in Python bietet eine effiziente Möglichkeit, die Dateigröße zu ermitteln. Mit der stat()-Funktion können wir verschiedene dateibezogene Informationen abrufen. Eine der wichtigsten Eigenschaften dieser Funktion…