Mit sorted ordnen
Basis
zahlen = [5, 1, 9, 3]
print(sorted(zahlen)) # neue Liste
print(sorted(zahlen, reverse=True))
sorted ändert das Original nicht. liste.sort() schon.
key
namen = ["py", "Luna", "ali"]
print(sorted(namen, key=str.lower))
Dicts sortieren
spieler = [
{"name": "Luna", "punkte": 10},
{"name": "Lily", "punkte": 15},
]
print(sorted(spieler, key=lambda s: s["punkte"], reverse=True))
lambda ist eine kleine Wegwerf-Funktion. Für den Anfang: „sortiere nach diesem Feld“.
Rate mal!
print(sorted([3, 1, 2]))
Auflösung
[1, 2, 3]
Probiere es selbst
Experiment 1
Zahlen aufsteigend/absteigend.
Experiment 2
Wörter alphabetisch.
Experiment 3
Highscores nach punkte.
Übungen
Level 1
sorted einer Liste.
Level 2
reverse=True.
Level 3
Dicts nach name sortieren.
Level-1-Lösung
print(sorted([4, 2, 8, 1]))
Mini-Quiz
Sortieren sitzt! Mini-Projekt: Punkteliste.