Menu
Coddy logo textTech

Daten effizient sortieren

Teil des Abschnitts Logik und Ablaufsteuerung der Python-Journey von Coddy. Lektion 48 von 78.

Das Sortieren ist eine grundlegende Operation in der Informatik, und Python bietet leistungsstarke integrierte Werkzeuge, um Daten effizient zu sortieren. Die wichtigste Funktion zum Sortieren ist sorted(), die zum Sortieren verschiedener Datentypen verwendet werden kann, darunter Zahlen, Zeichenketten und komplexere Objekte.

Grundlegendes Sortieren:

Die Funktion sorted() akzeptiert ein iterierbares Objekt (z. B. eine Liste, ein Tupel oder eine Menge) als Argument und gibt eine neue Liste zurück, die die sortierten Elemente enthält. Standardmäßig sortiert sie in aufsteigender Reihenfolge.

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# Ausgabe: [1, 1, 2, 3, 4, 5, 6, 9]

In diesem Beispiel sortiert sorted() die Liste numbers in aufsteigender Reihenfolge.

Umgekehrtes Sortieren:

Um in absteigender Reihenfolge zu sortieren, kannst du den Parameter reverse verwenden und ihn auf True setzen.

numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# Ausgabe: [9, 6, 5, 4, 3, 2, 1, 1]

Hier sortiert sorted() die Liste numbers in absteigender Reihenfolge.

Zeichenketten sortieren:

Die Funktion sorted() kann Zeichenketten auch nach ihrer lexikografischen Reihenfolge sortieren (d. h. nach der Reihenfolge, in der sie in einem Wörterbuch erscheinen würden).

words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# Ausgabe: ['apple', 'banana', 'cherry']

In diesem Beispiel sortiert sorted() die Liste words in alphabetischer Reihenfolge.

Benutzerdefiniertes Sortieren mit einer Schlüsselfunktion:

Für komplexere Sortieranforderungen kannst du den Parameter key verwenden, um eine Funktion anzugeben, die die Sortierreihenfolge bestimmt. Die Funktion key wird vor dem Sortieren auf jedes Element angewendet, und die zurückgegebenen Werte werden zum Vergleichen verwendet.

words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# Ausgabe: ['fig', 'kiwi', 'banana']

In diesem Fall sortiert sorted() die Liste words basierend auf der Länge jedes Wortes und verwendet dabei die Funktion len() als key.

challenge icon

Aufgabe

Einfach

Schreibe ein Programm, das mithilfe der Funktion sorted() die folgenden Sortieraufgaben ausführt:

  1. Sortiere eine Liste von Zahlen in aufsteigender Reihenfolge.
  2. Sortiere dieselbe Liste von Zahlen in absteigender Reihenfolge.
  3. Sortiere eine Liste von Zeichenketten in alphabetischer Reihenfolge.
  4. Sortiere dieselbe Liste von Zeichenketten nach ihrer Länge.

Probier es selbst

# Starter-Eingaben
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]

# Aufgabe 1: Zahlen in aufsteigender Reihenfolge sortieren
# Aufgabe 2: Zahlen in absteigender Reihenfolge sortieren
# Aufgabe 3: Wörter alphabetisch sortieren
# Aufgabe 4: Wörter nach Länge sortieren

# Ersetze 'None' durch deinen Code für jede Aufgabe
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None

# Ergebnisse ausgeben
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik und Ablaufsteuerung

Übe selbstständig: Online-Python-Compiler