Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung der Python-Listensortiermethoden „Umkehren“, „Sortieren“, „Sortiert“.
In der Python-Sprache gibt es drei Listensortiermethoden: Rückwärts-/Rückwärtssortierung, Vorwärtssortierung und Sortierung, um die sortierte Liste zu erhalten. Bei einer fortgeschritteneren Listensortierung können die beiden letztgenannten Methoden auch bedingte Parameter für die Sortierung hinzufügen.
reverse()-Methode
kehrt die Reihenfolge der Elemente in der Liste um, wie zum Beispiel das folgende
>>> x = [1,5,2,3,4] >>> x.reverse() >>> x [4, 3, 2, 5, 1]
Liste umkehren. Sortierung umkehren: Stellen Sie die Elemente in der ursprünglichen Liste von links nach rechts wieder her, ohne die Parameter in der Liste zu sortieren. Wenn Sie die Parameter in der Liste sortieren müssen, müssen Sie sort verwenden, eine andere Sortiermethode für die Liste, um in positiver Reihenfolge zu sortieren.
Sortiermethode sort()
Diese Funktionsmethode führt eine Vorwärtssortierung des Listeninhalts durch. Die sortierte neue Liste überschreibt die ursprüngliche Liste (die ID bleibt unverändert), d. h. die Sortierung Die Methode besteht darin, die ursprüngliche Listensortiermethode direkt zu ändern.
>>> a = [5,7,6,3,4,1,2] >>> a.sort() >>> a [1, 2, 3, 4, 5, 6, 7]
Viele Python-Anfänger sind verwirrt über die Methode sort(). Manchmal benötigen sie eine sortierte Liste, möchten aber die ursprüngliche unsortierte Liste speichern. Sie tun Folgendes:
>>> a = [5,7,6,3,4,1,2] >>> b = a.sort() >>> print b None
Das Problem ist zu diesem Zeitpunkt aufgetreten, Variable b hat einen Nullwert erhalten. Was soll ich also tun, wenn ich die sortierte Liste erhalten, aber auch die ursprüngliche Liste behalten möchte? Die Methode list sorted() kann Ihnen dabei helfen.
sorted()-Methode
kann die ursprüngliche Liste behalten und die sortierte Liste abrufen. Die sorted()-Operationsmethode lautet wie folgt:
>>> a = [5,7,6,3,4,1,2] >>> b = sorted(a) >>> a [5, 7, 6, 3, 4, 1, 2] >>> b [1, 2, 3, 4, 5, 6, 7]
Die Methode sorted() kann in jeder Datentypsequenz verwendet werden und gibt immer eine Liste zurück:
>>> sorted('iplaypython.com') ['.', 'a', 'c', 'h', 'i', 'l', 'm', 'n', 'o', 'o', 'p', 'p', 't', 'y', 'y']
The Unterschied zwischen den dreien
sort() ist eine Methode für veränderliche Objekte (Wörterbücher, Listen), ohne Parameter und ohne Rückgabewert ändert sort() das veränderliche Objekt, sodass keine Notwendigkeit besteht, a zurückzugeben Wert. Die Methode sort() ist eine Methode oder ein Attribut, das nur für veränderliche Objekte wie Tupel und Zeichenfolgen gilt. Wenn sie aufgerufen werden, wird eine Ausnahme zurückgegeben.
>>> a=[5,4,3,2,1] >>> a.sort() >>> >>> a [1, 2, 3, 4, 5]
sorted() ist eine integrierte Funktion von Python, keine einzigartige Methode zum Sortieren veränderlicher Objekte (Listen, Wörterbücher). () Die Funktion erfordert einen Parameter (der Parameter kann eine Liste, ein Wörterbuch, ein Tupel oder eine Zeichenfolge sein, es wird ein Rückgabewert mit einer Liste als Container zurückgegeben, a Es wird eine Liste der Schlüssel zurückgegeben.
>>> mystring="54321" >>> mytuple=(5,4,3,2,1) >>> mylist=[5,4,3,2,1] >>> sorted(mystring) ['1', '2', '3', '4', '5'] >>> sorted(mytuple) [1, 2, 3, 4, 5] >>> sorted(mylist) [1, 2, 3, 4, 5]
reverse() wird auf die gleiche Weise wie sort verwendet, während reversed() mit sorted verwendet wird () Auf die gleiche Weise
>>> mylist=[5,4,3,2,1] >>> mylist.reverse() >>> mylist [1, 2, 3, 4, 5] >>> mylist=[5,4,3,2,1] >>> for i in reversed(mylist): ... print i, ... 1 2 3 4 5
Der „Umkehr“-Effekt kann auch durch Aufteilen der Sequenz erreicht werden
>>> mystring="54321" >>> mytuple=(5,4,3,2,1) >>> mylist=[5,4,3,2,1] >>> mystring[::-1] '12345' >>> mytuple[::-1] (1, 2, 3, 4, 5) >>> mylist[::-1] [1, 2, 3, 4, 5]