Erklärung zur Lektion
Nach dieser Lektion kannst du:
.sort() an Ort und Stelle sortieren und den Rückgabewert None erkennen.sorted() eine sortierte neue Liste erhalten und das Original unverändert lassen.reverse=True aufsteigend oder absteigend sortieren.Sortieren und Umkehren sind verschiedene Operationen. Das Sortieren ordnet vergleichbare Elemente nach ihrem Wert; das Umkehren dreht nur ihre vorhandene Reihenfolge um.
items.sort() ändert die ursprüngliche Liste und gibt None zurück. Wenn du eine separate geordnete Version brauchst, verwende sorted(items): Es erstellt eine neue Liste, selbst wenn die Eingabe eine andere Sequenz wie ein Tupel ist. Beide sortieren standardmäßig aufsteigend; reverse=True erzeugt eine absteigende Reihenfolge.
items.reverse() dreht die vorhandene Reihenfolge an Ort und Stelle um; es sortiert nichts. Verlass dich nicht darauf, dass .sort() oder .reverse() eine Liste zurückgeben.
Diese Lektion verwendet Werte, die Python direkt vergleichen kann (Zahlen mit Zahlen oder Strings mit Strings). Das Sortieren von Dictionaries nach verschachtelten Feldern mit einer key=-Funktion gehört in Pythonisch denken, nachdem Funktionen höherer Ordnung eingeführt wurden.
versions = [5, 2, 4]
versions.sort()
print(versions)Ausgabe:
[2, 4, 5]Die vorhandene Liste enthält nun die sortierten Werte.
latencies = [80, 40, 65]
ordered = sorted(latencies)
print(ordered)
print(latencies)Ausgabe:
[40, 65, 80]
[80, 40, 65]sorted() gibt eine neue Liste zurück und lässt die Quelle unverändert.
scores = [7, 12, 9]
scores.sort(reverse=True)
print(scores)Ausgabe:
[12, 9, 7]reverse=True ändert die Sortierrichtung.
steps = ["compile", "test", "ship"]
steps.reverse()
print(steps)Ausgabe:
['ship', 'test', 'compile']Die Reihenfolge wird umgedreht, nicht alphabetisch geordnet.
| Ziel | Python | Ändert das Original? |
|---|---|---|
| Aufsteigend sortieren | items.sort() | Ja |
| Sortierte Kopie | sorted(items) | Nein |
| Absteigend sortieren | sorted(items, reverse=True) | Nein |
| Aktuelle Reihenfolge umkehren | items.reverse() | Ja |
Ergebnis von items.sort() | None | — |
ordered = items.sort() speichert None, keine sortierte Liste..reverse() ist nicht gleichbedeutend mit absteigendem Sortieren..sort() verändert die ursprüngliche Liste; bevorzuge sorted(), wenn es wichtig ist, Eingaben zu erhalten.TypeError aus.