Python - Listen sortieren
Liste alphanumerisch sortieren
Listenobjekte haben eine
sort()
Methode, die die Liste standardmäßig alphanumerisch aufsteigend sortiert:
Beispiel
Sortieren Sie die Liste alphabetisch:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
Beispiel
Sortieren Sie die Liste numerisch:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Absteigend sortieren
Um absteigend zu sortieren, verwenden Sie das Schlüsselwortargument reverse = True
:
Beispiel
Sortieren Sie die Liste absteigend:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
Beispiel
Sortieren Sie die Liste absteigend:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Sortierfunktion anpassen
Sie können auch Ihre eigene Funktion anpassen, indem Sie das Schlüsselwortargument verwenden .key =
function
Die Funktion gibt eine Zahl zurück, die zum Sortieren der Liste verwendet wird (die niedrigste Zahl zuerst):
Beispiel
Sortieren Sie die Liste danach, wie nahe die Zahl an 50 liegt:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
Sortierung ohne Berücksichtigung der Groß-/Kleinschreibung
Standardmäßig sort()
ist die Methode case sensitive, was dazu führt, dass alle Großbuchstaben vor Kleinbuchstaben sortiert werden:
Beispiel
Die Sortierung nach Groß- und Kleinschreibung kann zu einem unerwarteten Ergebnis führen:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
Glücklicherweise können wir eingebaute Funktionen als Schlüsselfunktionen beim Sortieren einer Liste verwenden.
Wenn Sie also eine Sortierfunktion ohne Berücksichtigung der Groß-/Kleinschreibung wünschen, verwenden Sie str.lower als Schlüsselfunktion:
Beispiel
Führen Sie eine Sortierung der Liste ohne Berücksichtigung der Groß-/Kleinschreibung durch:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
Umgekehrte Reihenfolge
Was ist, wenn Sie die Reihenfolge einer Liste unabhängig vom Alphabet umkehren möchten?
Die reverse()
Methode kehrt die aktuelle Sortierreihenfolge der Elemente um.
Beispiel
Kehren Sie die Reihenfolge der Listenelemente um:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)