Python-Listen sortieren: Methoden & Beispiele

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Python-Listen sortieren: Das komplette Tutorial

Das Sortieren von Daten ist ein zentraler Bestandteil fast jeder Anwendung – von der Verarbeitung von Benutzereingaben bis hin zu komplexen Datenanalyse-Algorithmen. In Python ist die Arbeit mit Listen intuitiv und die Sortierwerkzeuge bieten flexible und leistungsstarke Möglichkeiten.

Grundlagen der Arbeit mit Listen in Python

Listen in Python sind geordnete, veränderbare Sammlungen von Objekten. Sie können Elemente verschiedener Datentypen speichern und ermöglichen einen einfachen Zugriff über den Index.

zahlen = [5, 2, 9, 1, 5, 6]
woerter = ["Banane", "Apfel", "Kirsche"]
gemischte_liste = [1, "hallo", 3.14, True]

Die wichtigsten Methoden zum Sortieren von Listen

Python bietet zwei Hauptwege, um Listen zu sortieren: die Methode sort() und die Funktion sorted(). Beide haben ihre eigenen Besonderheiten und Einsatzbereiche.

Die Methode sort() – Sortieren direkt in der Liste

Die Methode sort() verändert die ursprüngliche Liste und gibt None zurück. Dieser Ansatz ist speichereffizient, da keine neue Liste erstellt wird.

zahlen = [5, 2, 9, 1]
zahlen.sort()
print(zahlen)  # [1, 2, 5, 9]
Parameter der Methode sort()

Die Methode sort() akzeptiert folgende Parameter:

  • reverse: Bestimmt die Sortierreihenfolge (True für absteigend, False für aufsteigend)
  • key: Eine Funktion, die das Sortierkriterium festlegt
zahlen = [5, 2, 9, 1]
zahlen.sort(reverse=True)
print(zahlen)  # [9, 5, 2, 1]

Die Funktion sorted() – Eine neue, sortierte Liste erstellen

Die Funktion sorted() gibt eine neue, sortierte Liste zurück, ohne die ursprüngliche zu verändern. Das ist nützlich, wenn die originale Reihenfolge der Elemente erhalten bleiben soll.

zahlen = [5, 2, 9, 1]
neue_zahlen = sorted(zahlen)
print(neue_zahlen)  # [1, 2, 5, 9]
print(zahlen)       # [5, 2, 9, 1] – die ursprüngliche Liste bleibt unverändert
Absteigend sortieren mit sorted()
zahlen = [5, 2, 9, 1]
sortiert_absteigend = sorted(zahlen, reverse=True)
print(sortiert_absteigend)  # [9, 5, 2, 1]

Vergleich der Sortiermethoden

Methode Verändert die Liste Gibt zurück Einsatzbereich
sort() Ja Nein (None) Wenn die ursprüngliche Reihenfolge nicht benötigt wird
sorted() Nein Neue Liste Wenn die Originaldaten erhalten bleiben sollen

Strings in Listen sortieren

Alphabetische Sortierung

Beim Sortieren von Strings verwendet Python standardmäßig die lexikografische Reihenfolge:

woerter = ["Banane", "Apfel", "Kirsche"]
woerter.sort()
print(woerter)  # ['Apfel', 'Banane', 'Kirsche']

Absteigend sortieren

woerter = ["Banane", "Apfel", "Kirsche"]
woerter.sort(reverse=True)
print(woerter)  # ['Kirsche', 'Banane', 'Apfel']

Groß- und Kleinschreibung beim Sortieren von Strings

Groß-/Kleinschreibung beachten

Standardmäßig wird bei der Sortierung die Groß-/Kleinschreibung beachtet. Großbuchstaben kommen in der ASCII-Tabelle vor Kleinbuchstaben:

woerter = ["Banane", "apfel", "Kirsche"]
print(sorted(woerter))  # ['Banane', 'Kirsche', 'apfel']

Groß-/Kleinschreibung ignorieren

Für eine Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung wird der Parameter key=str.lower verwendet:

woerter = ["Banane", "apfel", "Kirsche"]
print(sorted(woerter, key=str.lower))  # ['apfel', 'Banane', 'Kirsche']

Komplexe Datenstrukturen sortieren

Eine Liste von Wörterbüchern sortieren

Blogs

Buchempfehlungen