logo

So vergleichen Sie zwei Listen in Python

Python bietet mehrere Möglichkeiten, die beiden Listen zu vergleichen. Beim Vergleich handelt es sich um den Prozess, bei dem die Datenelemente einer Liste mit einem anderen Datenelement einer Liste verglichen werden, unabhängig davon, ob sie gleich sind oder nicht.

 list1 - [11, 12, 13, 14, 15] list2 - [11, 12, 13, 14, 15] Output - The lists are equal 

Die Methoden zum Vergleichen zweier Listen sind unten aufgeführt.

VLC Media Player auf YouTube herunterladen
  • Die cmp()-Funktion
  • Die Funktion set() und der Operator ==
  • Die Funktion sort() und der Operator ==
  • Die Funktion „collection.counter()“.
  • Die Funktionen Reduce() und Map()

Die cmp()-Funktion

Der Python Die Funktion cmp() vergleicht die beiden Python-Objekte und gibt entsprechend dem Vergleich die Ganzzahlwerte -1, 0, 1 zurück.

Hinweis – Wird in der Python 3.x-Version nicht verwendet.

Die Funktion set() und der Operator ==

Python Satz() Funktion Manipulieren Sie die Liste in der Menge, ohne auf die Reihenfolge der Elemente zu achten. Außerdem verwenden wir den Gleichheitsoperator (==), um die Datenelemente der Liste zu vergleichen. Lassen Sie uns das folgende Beispiel verstehen.

Beispiel -

 list1 = [11, 12, 13, 14, 15] list2 = [12, 13, 11, 15, 14] a = set(list1) b = set(list2) if a == b: print('The list1 and list2 are equal') else: print('The list1 and list2 are not equal') 

Ausgabe:

 The list1 and list2 are equal 

Erläuterung:

Im obigen Beispiel haben wir die beiden Listen zum Vergleich miteinander deklariert. Wir haben diese Listen in die Menge umgewandelt und jedes Element mit Hilfe des ==-Operators verglichen. Alle Elemente sind in beiden Listen gleich. Wenn der Block ausgeführt und das Ergebnis gedruckt wird.

Die Methode sort() mit dem Operator ==

Python Sortieren() Die Funktion dient zum Sortieren der Listen. Die Elemente derselben Liste haben dieselbe Indexposition, die sie bedeuten; Listen sind gleich.

Hinweis – In der Methode sort() können wir die Listenelemente in beliebiger Reihenfolge übergeben, da wir die Liste vor dem Vergleich sortieren.

Lassen Sie uns das folgende Beispiel verstehen:

Beispiel -

 import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] # Sorting the list list1.sort() list2.sort() list3.sort() if list1 == list2: print('The list1 and list2 are the same') else: print('The list1 and list3 are not the same') if list1 == list3: print('The list1 and list2 are not the same') else: print('The list1 and list2 are not the same') 

Ausgabe:

 The list1 and list3 are not the same The list1 and list2 are not the same 

Die Funktion „collection.counter()“.

Das Sammlungsmodul stellt die bereit Schalter(), die die Liste effizient vergleichen. Es speichert die Daten im Wörterbuchformat: und zählt die Häufigkeit der Listenelemente.

Hinweis – Die Reihenfolge der Listenelemente spielt in dieser Funktion keine Rolle.

Beispiel -

 import collections list1 = [10, 20, 30, 40, 50, 60] list2 = [10, 20, 30, 50, 40, 70] list3 = [50, 10, 30, 20, 60, 40] if collections.Counter(list1) == collections.Counter(list2): print('The lists l1 and l2 are the same') else: print('The lists l1 and l2 are not the same') if collections.Counter(list1) == collections.Counter(list3): print('The lists l1 and l3 are the same') else: print('The lists l1 and l3 are not the same') 

Ausgabe:

 The lists list1 and list2 are not the same The lists list1 and list3 are the same 

Die Reduce() und Map()

Der Karte() Die Funktion akzeptiert eine Funktion und ein iterierbares Python-Objekt (Liste, Tupel, String usw.) als Argumente und gibt ein Kartenobjekt zurück. Die Funktion wird auf jedes Element der Liste implementiert und gibt als Ergebnis einen Iterator zurück.

Neben dem reduzieren() Die Methode implementiert die angegebene Funktion rekursiv für das iterierbare Objekt.

Hier werden wir beide Methoden in Kombination verwenden. Der Karte() Die Funktion würde die Funktion (es kann eine benutzerdefinierbare Funktion oder eine Lambda-Funktion sein) für jedes iterierbare Objekt und das implementieren reduzieren() Funktion kümmert sich darum, würde rekursiv gelten.

Hinweis – Wir müssen das Functool-Modul importieren, um die Funktion Reduce() verwenden zu können.

Lassen Sie uns das folgende Beispiel verstehen.

Beispiel -

 import functools list1 = [10, 20, 30, 40, 50] list2 = [10, 20, 30, 50, 40, 60, 70] list3 = [10, 20, 30, 40, 50] if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list2), True): print('The list1 and list2 are the same') else: print('The list1 and list2 are not the same') if functools.reduce(lambda x, y: x and y, map(lambda a, b: a == b, list1, list3), True): print('The list1 and list3 are the same') else: print('The list1 and list3 are not the same') 

Ausgabe:

supw
 The list1 and list2 are not the same The list1 and list3 are the same 

In diesem Abschnitt haben wir verschiedene Methoden zum Vergleichen zweier Listen in Python behandelt.