Tutorials  /  Python

Zwei Listen in Python vergleichen: So funktioniert's!

Ccentron Redaktion · Dezember 2024 ·1 Min. Lesezeit ·Python, Tutorial

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
VM

Passende Infrastruktur bei centron

Skripte und Dienste brauchen irgendwann eine Umgebung, die durchläuft: ccloud³ VMs ab 3,12 € im Monat, stundengenau abgerechnet. Cloud Server mieten →

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

YAML

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:

Code

Die Listen l1 und l3 sind gleich
Die Listen l1 und l2 sind nicht gleich
  

Beispiel: sorted()-Funktion

YAML

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:

Code

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.

Python

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:

Code

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.

Python

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:

Code

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.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie Python
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren