Daten effizient sortieren
Teil des Abschnitts Logic & Flow der Python-Journey von Coddy — Lektion 48 von 78.
Sortieren ist eine grundlegende Operation in der Informatik, und Python bietet leistungsstarke integrierte Werkzeuge, um Daten effizient zu sortieren. Die primäre Funktion zum Sortieren ist sorted(), die verwendet werden kann, um verschiedene Arten von Daten zu sortieren, einschließlich Zahlen, Zeichenfolgen und komplexeren Objekten.
Grundlegendes Sortieren:
Die sorted() Funktion nimmt ein Iterable (z. B. eine Liste, ein Tupel oder ein Set) als Argument entgegen 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 numbers Liste in aufsteigender Reihenfolge.
Umgekehrte Sortierung:
Um in absteigender Reihenfolge zu sortieren, können Sie 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 numbers-Liste in absteigender Reihenfolge.
Sortieren von Strings:
Die sorted()-Funktion kann auch Strings basierend auf ihrer lexikographischen Reihenfolge sortieren (d. h. die 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 words-Liste in alphabetischer Reihenfolge.
Benutzerdefiniertes Sortieren mit Key-Funktion:
Für komplexere Sortieranforderungen können Sie den Parameter key verwenden, um eine Funktion anzugeben, die die Sortierreihenfolge bestimmt. Die key-Funktion wird vor dem Sortieren auf jedes Element angewendet, und die zurückgegebenen Werte werden für den Vergleich 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 words-Liste basierend auf der Länge jedes Wortes, wobei die len()-Funktion als key verwendet wird.
Aufgabe
EinfachSchreiben Sie ein Programm, das die folgenden Sortieraufgaben mit der sorted() Funktion ausführt:
- Sortieren Sie eine Liste von Zahlen in aufsteigender Reihenfolge.
- Sortieren Sie dieselbe Liste von Zahlen in absteigender Reihenfolge.
- Sortieren Sie eine Liste von Strings in alphabetischer Reihenfolge.
- Sortieren Sie dieselbe Liste von Strings basierend auf ihrer Länge.
Spickzettel
Die Funktion sorted() sortiert Daten und gibt eine neue Liste mit sortierten Elementen zurück.
Grundlegendes Sortieren (aufsteigende Reihenfolge):
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
# Ausgabe: [1, 1, 2, 3, 4, 5, 6, 9]Umgekehrtes Sortieren (absteigende Reihenfolge):
sorted_numbers_desc = sorted(numbers, reverse=True)
# Ausgabe: [9, 6, 5, 4, 3, 2, 1, 1]Strings alphabetisch sortieren:
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
# Ausgabe: ['apple', 'banana', 'cherry']Benutzerdefiniertes Sortieren mit einer Key-Funktion:
sorted_words_by_length = sorted(words, key=len)
# Sortiert nach String-LängeProbier es selbst
# Starteingaben
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 'pass' 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)Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logic & Flow
1Variablen-Erkundung
KonstantenMehrfache VariablenzuweisungenVariablen tauschenPlatzhalter-VariablenZahlen rundenListen-Casting4Kontaktbuch-Anwendung
Menü anzeigenKontakt hinzufügen7Sets Teil 2
Mathematische Operationen Teil 1Mathematische Operationen Teil 2Rückblick – SchatzsucheTeilmengen und ObermengenIterieren über SetsRückblick – Turnier-Tracker10Grundlagen der List Comprehensions
Die SyntaxEinfache Listen erstellenBedingungen hinzufügenDatenaggregation nutzenRückblick - House Of ListsRückblick - Elements Of Freedom13Bestandsverwaltungssystem
ProjektübersichtArtikel hinzufügen2Dictionaries Teil 1
Was ist ein Dictionary?Ein Dictionary erstellenZugriff auf WerteDictionaries ändernRückblick – Rezept-Manager5Fortgeschrittene Entscheidungsfindung
Ternärer OperatorZugehörigkeitsprüfungenIdentitätsprüfungenEinrückungsfehlerZusammenfassung - Urlaubsfilter8Studenten-Datenverwaltung
ProjektübersichtStudent hinzufügen11Fortgeschrittene Funktionen
Mehrere Werte zurückgebenLambda-Funktionen Teil 1Lambda-Funktionen Teil 2Recap Challenge – Lambda SortRekursive Funktionen Teil 1Rekursive Funktionen Teil 2Recap – Verschachtelte Listen summieren14Funktionen höherer Ordnung
Die Map-FunktionDie Filter-FunktionWiederholung – E-Mail-ValidatorWiederholung – Zahlenprozessor3Dictionaries Teil 2
Dictionary-MethodenVerschachtelte DictionariesKeys überprüfenDictionaries durchlaufenZusammenfassung – Häufigkeitszähler9Fortgeschrittene Datenaggregation
Verwendung von SumMinimum und Maximum findenDaten effizient sortierenRückblick - Dictionary Sorter12Grundlagen der Fehlerbehandlung
Was ist Fehlerbehandlung?Der Try- und Except-BlockBehandlung mehrerer ExceptionsRückblick – Warenkorb-Fehler