Menu
Coddy logo textTech

Daten effizient sortieren

Teil des Abschnitts Logic & Flow der Python-Journey von Coddy. Lektion 48 von 78.

Sorting ist eine grundlegende Operation in der Informatik, und Python bietet leistungsstarke integrierte Werkzeuge, um data effizient zu sortieren. Die wichtigste Funktion zum Sortieren ist sorted(), die verwendet werden kann, um verschiedene Arten von data zu sortieren, darunter numbers, Zeichenfolgen und komplexere Objekte.

Grundlegendes Sortieren:

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

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 ascending order.

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 descending 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 numbers in ascending order.
  2. Sortiere dieselbe Liste von numbers in descending order.
  3. Sortiere eine Liste von Zeichenketten in alphabetischer Reihenfolge.
  4. Sortiere dieselbe Liste von Zeichenketten anhand ihrer length.

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 Logic & Flow

Übe selbstständig: Online-Python-Compiler