Techniken zum Sortieren in Python

Einführung

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.

Unterschied zwischen list.sort () und sortiert (list)

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]

Wenn Sie in umgekehrter Reihenfolge sortieren möchten

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 die zum Sortieren verwendeten Spalten einschränken möchten

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)]

abschließend

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.

Referenz

https://docs.python.org/3/howto/sorting.html

Recommended Posts

Techniken zum Sortieren in Python
Grundlegende Sortierung in Python
Über "für _ in range ():" von Python
Überprüfen Sie Python auf Speicherlecks
Suchen Sie mit Python nach externen Befehlen
Sortieralgorithmus und Implementierung in Python
Python-Kurs für datenwissenschaftlich-nützliche Techniken
Implementierung der ursprünglichen Sortierung in Python
Führen Sie unittest in Python aus (für Anfänger)
2016-10-30 sonst für Python3> für:
Quadtree in Python --2
Python in der Optimierung
Python [für mich]
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
SendKeys in Python
Metaanalyse in Python
Unittest in Python
Anmerkung von nfc.ContactlessFrontend () von nfcpy von Python
Inject wird für DDD in Python empfohlen
Tipps zum Umgang mit Binärdateien in Python
[Python] Techniken, die häufig beim maschinellen Lernen verwendet werden
Geben Sie Anmerkungen für Python2 in Stub-Dateien ein!
Epoche in Python
Zwietracht in Python
Deutsch in Python
nCr in Python
N-Gramm in Python
Vorlage zum Schreiben von Batch-Skripten in Python
Programmieren mit Python
Detaillierte Python-Techniken für die Datenformung (1)
Verarbeiten Sie mehrere Listen mit for in Python
Plink in Python
Konstante in Python
MongoDB mit Python zum ersten Mal
Holen Sie sich ein Zeichen für Conoha mit Python
FizzBuzz in Python
Beispiel für den Umgang mit EML-Dateien in Python
SQLite in Python
Schritt AIC in Python
AtCoder Spickzettel in Python (für mich)
Zusammenfassung nützlicher Techniken von Scrapy in Python
Ich habe mit Python nach einer Primzahl gesucht
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Hinweise zur Verwendung von Python (Pydev) mit Eclipse
Reflexion in Python
Tipps zum Erstellen kleiner Werkzeuge mit Python
Konstante in Python
Verwenden Sie pathlib in Maya (Python2.7), um sich auf das kommende Python3.7 vorzubereiten
nCr in Python.
Format in Python
Scons in Python 3
Detaillierte Python-Techniken für die Datenformung (2)
Puyopuyo in Python
Python in Virtualenv
PPAP in Python