Heim > Artikel > Backend-Entwicklung > Listensortierung: Detaillierte Erläuterung der Python-Methoden sort, sorted und numpy.argsort
Bei der Python-Programmierung ist es oft notwendig, Listen oder Arrays zu sortieren. Python bietet eine Vielzahl von Sortiermethoden, darunter sort, sorted, numpy.argsort usw. In diesem Artikel werden die Verwendung und Vorsichtsmaßnahmen dieser Sortiermethoden ausführlich vorgestellt.
1. Sortiermethode
Die Sortiermethode ist eine in Python-Listen integrierte Methode, die die Liste an Ort und Stelle sortieren kann (d. h. sie gibt einen Wert zurück, generiert aber kein neues Sortierobjekt) und erfordert keine zusätzlichen Bibliotheken importieren. Die Sortiermethode hat zwei Parameter: key und reverse. key gibt den beim Sortieren verwendeten Schlüssel an, und reverse gibt an, ob eine umgekehrte Sortierung durchgeführt werden soll. Zum Beispiel:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] my_list.sort() print(my_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] my_list.sort(reverse=True) print(my_list) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] my_list = ["apple", "banana", "cherry", "orange"] my_list.sort(key=lambda x: len(x)) print(my_list) # 输出 ["apple", "cherry", "orange", "banana"]
Im obigen Beispiel sortiert das erste Beispiel die Liste der Ganzzahlen, das zweite Beispiel sortiert die Liste in umgekehrter Reihenfolge und das dritte Beispiel verwendet einen Lambda-Ausdruck, um die Liste der Zeichenfolgen nach Länge zu sortieren.
Es ist zu beachten, dass die Sortiermethode die Reihenfolge der ursprünglichen Liste ändert. Der Rückgabewert ist „Keine“, sodass Sie keine Operationen direkt an der sortierten Liste ausführen können. Sie müssen eine Kopie erstellen oder verwenden Andere Methoden vor dem Sortieren speichern die sortierten Ergebnisse.
2. Sortierte Funktion
Die sortierte Funktion ist eine in Python integrierte Funktion, die Listen, Tupel, Zeichenfolgen usw. sortieren und ein neues sortiertes Objekt zurückgeben kann, ohne das ursprüngliche Eingabeobjekt zu ändern. Die Parameter der sortierten Funktion sind dieselben wie die der Sortiermethode, einschließlich Schlüssel und Umkehrung. Zum Beispiel:
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5] new_list = sorted(my_list) print(new_list) # 输出 [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] new_list = sorted(my_list, reverse=True) print(new_list) # 输出 [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] my_list = ["apple", "banana", "cherry", "orange"] new_list = sorted(my_list, key=lambda x: len(x)) print(new_list) # 输出 ["apple", "cherry", "orange", "banana"]
Der Rückgabewert der sortierten Funktion kann eine Liste, ein Tupel, eine Zeichenfolge usw. sein. Der Typ des Rückgabeergebnisses wird basierend auf dem Eingabetyp bestimmt.
3. Numpy.argsort-Methode
Die numpy.argsort-Methode ist eine Methode in Numpy, die hauptsächlich zum Sortieren von Numpy-Arrays verwendet wird. Die argsort-Methode gibt die sortierten Indizes zurück. Die Parameter der Methode numpy.argsort sind ebenfalls key und reverse. Zum Beispiel:
import numpy as np my_array = np.array([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]) sort_index = np.argsort(my_array) print(sort_index) # 输出 [1 3 6 0 9 2 4 8 7 5 10] sort_index = np.argsort(-my_array) print(sort_index) # 输出 [5 7 4 2 0 3 6 8 9 1 10] my_array = np.array(["apple", "banana", "cherry", "orange"]) sort_index = np.argsort([len(x) for x in my_array]) print(sort_index) # 输出 [0 2 3 1]
In den obigen Beispielen sortiert das erste Beispiel das Numpy-Array in aufsteigender Reihenfolge und gibt die sortierten Indizes zurück. Im zweiten Beispiel müssen Sie zum Sortieren in absteigender Reihenfolge das Array invertieren. Das dritte Beispiel sortiert ein Array von Zeichenfolgen nach Länge.
Es ist zu beachten, dass die Methode numpy.argsort eine Liste von Indizes zurückgibt und Sie die Indizes verwenden müssen, um die Sortierergebnisse zu erhalten.
Zusammenfassung:
In diesem Artikel werden hauptsächlich die Methoden sort, sorted und numpy.argsort in Python vorgestellt, mit denen Listen und Arrays in Python sortiert werden können. Die Sortiermethode und die Sortierfunktion können die in Python integrierten Objekte sortieren, und die Methode numpy.argsort ist eine Methode in Numpy, die hauptsächlich zum Sortieren von Numpy-Arrays verwendet wird. Diese Methoden können Parameter wie Schlüssel und Umkehrung verwenden, um das Sortierverhalten zu steuern. Je nach Bedarf sollten unterschiedliche Sortiermethoden ausgewählt werden.
Das obige ist der detaillierte Inhalt vonListensortierung: Detaillierte Erläuterung der Python-Methoden sort, sorted und numpy.argsort. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!