Python

⌘K
  1. Home
  2. Docs
  3. Python
  4. Python Listen
  5. Python Listen sortieren

Python Listen sortieren

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.