Python Listen sortieren (engl.: Sort Lists): Das Sortieren von Listen in Python ist eine grundlegende und häufige Aufgabe. Python bietet mehrere eingebaute Funktionen und Methoden, um Listen auf einfache Weise zu sortieren, sowohl in aufsteigender als auch in absteigender Reihenfolge. Hier sind die gängigsten Methoden, um Listen zu sortieren.
1. sort()-Methode
Die sort()
-Methode sortiert die Elemente einer Liste in aufsteigender Reihenfolge. Diese Methode ändert die ursprüngliche Liste und gibt keinen neuen Wert zurück.
Beispiel
zahlen = [5, 3, 8, 1, 2]
zahlen.sort()
print(zahlen) # Ausgabe: [1, 2, 3, 5, 8]
Absteigende Sortierung
Sie können auch die Parameter reverse=True
verwenden, um die Liste in absteigender Reihenfolge zu sortieren.
zahlen = [5, 3, 8, 1, 2]
zahlen.sort(reverse=True)
print(zahlen) # Ausgabe: [8, 5, 3, 2, 1]
2. sorted()-Funktion
Die sorted()
-Funktion gibt eine neue, sortierte Liste zurück, ohne die ursprüngliche Liste zu verändern. Diese Funktion kann auf beliebige iterierbare Objekte angewendet werden.
Beispiel
zahlen = [5, 3, 8, 1, 2]
sortierte_liste = sorted(zahlen)
print(sortierte_liste) # Ausgabe: [1, 2, 3, 5, 8]
print(zahlen) # Ausgabe: [5, 3, 8, 1, 2] (ursprüngliche Liste bleibt unverändert)
Absteigende Sortierung
Ähnlich wie bei sort()
, können Sie auch sorted()
mit reverse=True
verwenden.
zahlen = [5, 3, 8, 1, 2]
sortierte_liste = sorted(zahlen, reverse=True)
print(sortierte_liste) # Ausgabe: [8, 5, 3, 2, 1]
3. Sortierung von Listen mit benutzerdefinierten Kriterien
Sie können benutzerdefinierte Sortierkriterien mit dem key
-Parameter angeben. Dies ist nützlich, wenn Sie eine Liste von Objekten oder komplexeren Datenstrukturen sortieren möchten.
Beispiel
Angenommen, Sie haben eine Liste von Wörtern und möchten sie nach ihrer Länge sortieren:
woerter = ["apfel", "banane", "kiwi", "birne"]
woerter.sort(key=len)
print(woerter) # Ausgabe: ['kiwi', 'apfel', 'birne', 'banane']
Sie können auch eine Funktion als key
angeben:
def zweite_buchstabe(wort):
return wort[1]
woerter = ["apfel", "banane", "kiwi", "birne"]
woerter.sort(key=zwei_buchstabe)
print(woerter) # Ausgabe: ['banane', 'apfel', 'birne', 'kiwi']
4. Sortieren von Listen mit lambda
Für einfache Sortierkriterien können Sie anstelle einer Funktion auch eine Lambda-Funktion verwenden.
Beispiel
woerter = ["apfel", "banane", "kiwi", "birne"]
woerter.sort(key=lambda x: len(x))
print(woerter) # Ausgabe: ['kiwi', 'apfel', 'birne', 'banane']
Häufig gestellte Fragen
Wie kann ich eine Liste in Python sortieren?
Verwenden Sie die sort()
-Methode, um die Liste direkt zu sortieren, oder die sorted()
-Funktion, um eine neue sortierte Liste zu erstellen.
Ändert sort()
die ursprüngliche Liste?
Ja, sort()
ändert die ursprüngliche Liste. sorted()
gibt eine neue sortierte Liste zurück und verändert die ursprüngliche nicht.
Wie kann ich eine Liste in absteigender Reihenfolge sortieren?
Verwenden Sie den Parameter reverse=True
in der sort()
-Methode oder in der sorted()
-Funktion.
Kann ich benutzerdefinierte Sortierkriterien verwenden?
Ja, Sie können den Parameter key
in sort()
oder sorted()
verwenden, um benutzerdefinierte Sortierkriterien anzugeben.