Beachten Sie, dass Sie möglicherweise vergessen, wie Sie sortieren, wenn Sie in Python3 konkurrieren
Da wir im Interpreter-Modus arbeiten, stellen Sie sich unten vor, was am Anfang der Zeile ein >>>>
als Eingabe hat.
list.sort ()
sortiert die ursprüngliche Liste. Der Rückgabewert ist "None"
>>>> list = [2, 3, 5, 1, 4]
>>>> list.sort()
>>>> list
[1, 2, 3, 4, 5]
sortiert (Liste)
gibt das Ergebnis der Sortierung zurück, ohne die ursprüngliche Liste zu ändern
>>>> list = [2, 3, 5, 1, 4]
>>>> sorted(list)
[1, 2, 3, 4, 5]
>>>> list
[2, 3, 5, 1, 4]
Im Folgenden verwenden sowohl "list.sort ()" als auch "sortiert (Liste)" dieselben Optionen, sodass nur "sortiert (Liste)" behandelt wird.
Geben Sie optional "reverse = True" an
>>>> list = [2, 3, 5, 1, 4]
>>>> sorted(list)
[1, 2, 3, 4, 5]
>>>> sorted(list, reverse=True)
[5, 4, 3, 2, 1]
Wenn Sie normal sortieren, wird die Reihenfolge in der linken Spalte sortiert. Bild wie Wörterbuch bestellen
>>>> people = [('Bob', 12), ('Alice', 10), ('Chris', 8), ('Chris', 7)]
>>>> sorted(people)
[('Alice', 10), ('Bob', 12), ('Chris', 7), ('Chris', 8)]
Wenn Sie nur die zweite Spalte zum Sortieren verwenden möchten
>>>> sorted(people, key=lambda x:x[1])
[('Chris', 7), ('Chris', 8), ('Alice', 10), ('Bob', 12)]
Wenn Sie die erste und zweite Spalte zum Sortieren verwenden möchten
>>>> sorted(people, key=lambda x:(x[0], x[1]))
[('Alice', 10), ('Bob', 12), ('Chris', 7), ('Chris', 8)]
Wenn Sie "itemgetter", "attrgetter" verwenden, müssen Sie keinen Lambda-Ausdruck schreiben, aber ich habe beschlossen, ihn nicht zu verwenden, da dies mein Auswendiglernen erhöht.
Wenn Sie es verwenden möchten, überprüfen Sie es bitte über den Referenzlink.
https://docs.python.org/3/howto/sorting.html
Recommended Posts