[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung

Referenzseite: [Einführung in Python] So effizientes Sortieren des Inhalts einer Liste mit Listensortierung

[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung

Beim Programmieren gibt es Fälle, in denen Sie den Inhalt einer Liste sortieren möchten. Abhängig von der Sprache gibt es eine Methode zur Realisierung eines vorhandenen Sortieralgorithmus, bei der Anweisungen usw. vollständig verwendet werden, was überraschend schwierig ist. Python verfügt jedoch über eine Funktion zum Sortieren von Listen, sodass Sie diese problemlos sortieren können.

Dieses Mal werde ich erklären, wie der Inhalt der Liste sortiert wird.

Inhaltsverzeichnis 1 [Sortieren mit Sortierfunktion](## Sortieren mit Sortierfunktion) 2 [Umkehrsortierung mit Umkehrfunktion](## Umkehrsortierung mit Umkehrfunktion) 3 [Sortieren mit sortierter Funktion](## Sortieren mit sortierter Funktion) 3.1 [Aufsteigende Sortierung mit sortierter Funktion](Aufsteigende Sortierung mit sortierter Funktion ###) 3.2 [In absteigender Reihenfolge mit sortierter Funktion sortieren](In absteigender Reihenfolge mit sortierter Funktion ### sortieren) 4 [Mehrdimensionale Liste sortieren](## Mehrdimensionale Liste sortieren)

Sortieren mit der Sortierfunktion

Der einfachste Weg, in Python aufzulisten, ist die Verwendung der Sortierfunktion. Die Syntax der Sortierfunktion lautet wie folgt.

aufführen.sort()

Verwenden Sie sort (), um den Inhalt der Liste in aufsteigender Reihenfolge zu sortieren. Zeichenfolgen werden in Zeichencode-Reihenfolge sortiert, und numerische Werte werden in aufsteigender Reihenfolge sortiert. Wenn Sie mit sort () sortieren, wird der Inhalt der ursprünglichen Liste ausgetauscht.

list1 = ['python', 'list', 'sort']
print('Vor dem Sortieren:{}'.format(list1))
 
list1.sort()
print('Nach dem Sortieren:{}'.format(list1))

Ausführungsergebnis

Vor dem Sortieren: ["Python", "Liste", "Sortieren"] Nach dem Sortieren: ['Liste', 'Python', 'Sortieren']

Rückwärtssortierung mit der Umkehrfunktion

Sie können die Liste einfach mit der Sortierfunktion sortieren, aber die Reihenfolge ist immer aufsteigend. Wenn Sie in absteigender Reihenfolge sortieren möchten, verwenden Sie die Umkehrfunktion. Die Syntax der Umkehrfunktion lautet wie folgt.

aufführen.reverse()

Wenn Sie reverse () verwenden, wird alles in der Liste umgekehrt. Daher können Sie die Liste in absteigender Reihenfolge mit reverse () sortieren, nachdem Sie mit sort () in aufsteigender Reihenfolge sortiert haben.

list1 = [1,5,3,9,6,7,8]
print('Vor dem Sortieren:{}'.format(list1))
 
list1.sort()
print('Nach dem Sortieren(aufsteigende Reihenfolge):{}'.format(list1))
 
list1.reverse()
print('Nach dem Sortieren(absteigende Reihenfolge):{}'.format(list1))

Ausführungsergebnis

Vor dem Sortieren: [1, 5, 3, 9, 6, 7, 8] Nach dem Sortieren (aufsteigende Reihenfolge): [1, 3, 5, 6, 7, 8, 9] Nach dem Sortieren (absteigende Reihenfolge): [9, 8, 7, 6, 5, 3, 1]

Sortieren mit der sortierten Funktion

Wir haben festgestellt, dass die Sortierfunktion verwendet werden kann, um die Liste in aufsteigender Reihenfolge zu sortieren, und die umgekehrte Funktion kann verwendet werden, um in absteigender Reihenfolge zu sortieren. Bei der Sortierung mit diesen beiden Funktionen wird der Inhalt der ursprünglichen Liste jedoch neu geschrieben.

Wenn Sie sortiert haben, es aber wiederherstellen möchten, möchten Sie möglicherweise eine neue sortierte Liste erstellen, ohne den Inhalt nach Möglichkeit zu ändern. In einem solchen Fall ist die sortierte Funktion praktisch.

Mit der Funktion sortiert in aufsteigender Reihenfolge sortieren

Die sortierte Funktion ist eine Funktion, die eine Liste auf die gleiche Weise wie die Sortierfunktion sortiert. Die sortierte Funktion gibt jedoch eine sortierte Liste zurück, sodass der Inhalt der ursprünglichen Sortierung im Gegensatz zur Sortierfunktion gleich bleibt. Die Syntax zum Sortieren in aufsteigender Reihenfolge mit der sortierten Funktion lautet wie folgt.

Listing 2:= sorted(Listing 1:)

Wenn Sie Liste 1 vor dem Sortieren an sortiert übergeben, wird die sortierte Liste zurückgegeben. Durch Einsetzen in Listing 2 wird ein neues Listing 2 erstellt, das Listing 1 sortiert. Die ursprüngliche Liste ändert sich nicht, daher ist es hilfreich, die ursprüngliche Liste beizubehalten, falls etwas schief geht.

list1 = [1,5,3,9,6,7,8]
list2 = sorted(list1)
 
print('Vor dem Sortieren:{}'.format(list1))
print('Nach dem Sortieren:{}'.format(list2))

Ausführungsergebnis

Vor dem Sortieren: [1, 5, 3, 9, 6, 7, 8] Nach dem Sortieren: [1, 3, 5, 6, 7, 8, 9]

Mit der Funktion sortiert in absteigender Reihenfolge sortieren

Das Sortieren mit der sortierten Funktion führt zu aufsteigender Reihenfolge, aber Sie können natürlich auch in absteigender Reihenfolge sortieren.

Listing 2:= sorted(Listing 1:)

Wenn Sie die sortierte Funktion verwenden, können Sie in absteigender Reihenfolge sortieren, indem Sie die Option "Umgekehrt" auf "Wahr" setzen.

list1 = [1,5,3,9,6,7,8]
list2 = sorted(list1, reverse=True)  #umgekehrt zu True

print('Vor dem Sortieren:{}'.format(list1))
print('Nach dem Sortieren:{}'.format(list2))

Ausführungsergebnis

Vor dem Sortieren: [1, 5, 3, 9, 6, 7, 8] Nach dem Sortieren: [9, 8, 7, 6, 5, 3, 1] Mehrdimensionale Listensortierung

Bisher haben wir erklärt, wie eine eindimensionale Liste sortiert wird. Manchmal möchten Sie jedoch eine zweidimensionale oder größere mehrdimensionale Liste sortieren. Mehrdimensionale Arrays können mit sort (), reverse (), sorted () wie in 1-dimensional sortiert werden.

Bei mehrdimensionalen Daten hängt das Ergebnis jedoch davon ab, welcher Wert zum Sortieren verwendet wird. Angenommen, Sie möchten eine Liste wie folgt sortieren:

list1 = [[1,5,3], [6,4,8], [9,11,2]]

Diese Liste1 ist ein zweidimensionales Array aus drei Listen mit drei Elementen. Das Ergebnis der Sortierung dieser Liste1 ändert sich je nachdem, welches Element jeder Elementliste als Schlüssel verwendet wird.

[[1, 5, 3], [6 ,4 ,8], [9, 11, 2]]  #Geben Sie das erste Element jeder Liste ein
[[6, 4, 8], [1, 5, 3], [9, 11, 2]]  #Geben Sie das zweite Element jeder Liste ein
[[9, 11, 2], [1, 5, 3], [6, 4, 8]]  #Geben Sie das dritte Element jeder Liste ein

Wenn Sie eine mehrdimensionale Liste normal sortieren, wird sie mit dem ersten Element als Schlüssel sortiert. Verwenden Sie itemgetter, um nach Schlüsselelementen zu sortieren.

from operator import itemgetter

Listing 1:.sort(key=itemgetter(1)) #Listing 1:は2次元以の配列

Da itemgetter eine Funktion der Operatorbibliothek ist, muss es zuerst importiert werden. Das Argument von itemgetter () repräsentiert die Nummer des Elements, das Sie eingeben möchten. Bei itemgetter (1) wird die Liste mit dem ersten Element als Schlüssel sortiert.

Mit itemgetter können Sie auswählen, welches Element als Schlüssel verwendet werden soll.

from operator import itemgetter
 
list1 = [[1,5,3], [6,4,8], [9,11,2]]
print('Vor dem Sortieren:{}'.format(list1))
 
list1.sort(key=itemgetter(0))
print('Nach dem Sortieren(0. Element):{}'.format(list1))
 
list1.sort(key=itemgetter(1))
print('Nach dem Sortieren(Erstes Element):{}'.format(list1))
 
list1.sort(key=itemgetter(2))
print('Nach dem Sortieren(Zweites Element):{}'.format(list1))

Ausführungsergebnis

Vor dem Sortieren: [[1, 5, 3], [6, 4, 8], [9, 11, 2]] Nach dem Sortieren (0. Element): [[1, 5, 3], [6, 4, 8], [9, 11, 2]] Nach dem Sortieren (erstes Element): [[6, 4, 8], [1, 5, 3], [9, 11, 2]] Nach dem Sortieren (zweites Element): [[9, 11, 2], [1, 5, 3], [6, 4, 8]]

Recommended Posts

[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
[Python] Ein Programm, das den Inhalt der Liste nach links dreht
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
[Einführung in Python] Wie iteriere ich mit der Bereichsfunktion?
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3
So übergeben Sie das Ergebnis der Ausführung eines Shell-Befehls in einer Liste in Python
[Python] So sortieren Sie nach dem N-ten M-ten Element eines mehrdimensionalen Arrays
[Ubuntu] So löschen Sie den gesamten Inhalt des Verzeichnisses
[Python] So erstellen Sie eine Liste von Zeichenfolgen Zeichen für Zeichen
So mischen Sie einen Teil der Python-Liste (at random.shuffle)
So zeigen Sie eine Liste der mit pyenv installierbaren Versionen an
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
So zählen Sie die Anzahl der Vorkommen jedes Elements in der Liste in Python mit der Gewichtung
[Python] So konvertieren Sie eine zweidimensionale Liste in eine eindimensionale Liste
Zusammenfassung der Verwendung der Python-Liste
So bestimmen Sie die Existenz eines Selenelements in Python
[Python, Ruby] Selen-Holen Sie sich Webseiteninhalte mit Webdriver
So überprüfen Sie die Speichergröße einer Variablen in Python
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
[Einführung in Python] Wie verwende ich den Operator in in der for-Anweisung?
So überprüfen Sie die Speichergröße eines Wörterbuchs in Python
Von der Einführung von JUMAN ++ bis zur morphologischen Analyse von Japanisch mit Python
So senden Sie eine Anfrage mit Python an die DMM (FANZA) -API
Übergeben des Ausführungsergebnisses eines Shell-Befehls in einer Liste in Python (nicht blockierende Version)
So berechnen Sie die Volatilität einer Marke
Lesen einer CSV-Datei mit Python 2/3
[Python] Sortieren Sie die Liste von pathlib.Path in natürlicher Reihenfolge
So löschen Sie einen Taple in einer Liste (Python)
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
[Einführung in die Udemy Python3 + -Anwendung] 47. Verarbeiten Sie das Wörterbuch mit einer for-Anweisung
[Python] Erklärt anhand eines konkreten Beispiels, wie die Bereichsfunktion verwendet wird
[Einführung in die Udemy Python3 + -Anwendung] 19. Kopie der Liste
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
Kopieren Sie die Liste in Python
Ich möchte eine Liste in der Reihenfolge anderer Listen sortieren
So legen Sie Attribute mit Mock of Python fest
[Algorithmus x Python] Verwendung der Liste
Einführung in Python mit Atom (unterwegs)
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Python Amateur versucht die Liste zusammenzufassen ②
So formatieren Sie eine Liste von Wörterbüchern (oder Instanzen) in Python
[Einführung in Python] Wie wird mit der continue-Anweisung wiederholt?
Sortieren durch Angabe einer Spalte im Python Numpy-Array.
[Circuit x Python] So ermitteln Sie die Übertragungsfunktion eines Schaltkreises mit Lcapy
Python-Skript zum Abrufen einer Liste von Eingabebeispielen für den AtCoder-Wettbewerb
Hinweis: So erhalten Sie den letzten Tag des Monats mit Python (hinzugefügt am ersten Tag des Monats)
[Python] So entfernen Sie doppelte Werte aus der Liste
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Memo mit Python mit HiveServer2 von EMR verbunden
Vorlage des Python-Skripts zum Lesen des Inhalts der Datei