Heim >Backend-Entwicklung >Python-Tutorial >Sortiermethode für Python-Listen
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()
>>> Die Elemente in der Liste werden von links nach rechts neu gespeichert, 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 neue sortierte Liste überschreibt die ursprüngliche Liste (die ID bleibt unverändert), d. h. die Sortiermethode sort Ändert die ursprüngliche Listensortiermethode.
>>> a = [5,7,6,3,4,1,2]
>>>
[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:
>>> ;>> b = a.sort()
>>> print b
Keine
Das Problem tritt zu diesem Zeitpunkt auf, die Variable b erhält einen Nullwert. 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
Sie können die ursprüngliche Liste behalten und die sortierte Liste abrufen. Die sorted()-Operationsmethode lautet wie folgt:
>>> , 6,3,4,1,2]
>>> b = sortiert(a)
>>> 1 , 2]
>>> b
[1, 2, 3, 4, 5, 6, 7]
Die Methode sorted() kann in jedem Datentyp verwendet werden sequence , die Rückgabe erfolgt immer in Form einer Liste:
>>> sorted('iplaypython.com')
['.', 'a', 'c', 'h', 'i', 'l', 'm', 'n', 'o', 'o', 'p', 'p', 't', 'y', 'y']
Der Unterschied zwischen Die drei
sort() ist eine Methode für veränderliche Objekte (Wörterbücher, Listen), ohne Parameter und ohne Rückgabewert. sort() ändert das veränderliche Objekt, sodass kein Wert zurückgegeben werden muss. 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 und keine eindeutige Methode für veränderliche Objekte ( Listen, Wörterbücher) erfordert die Funktion sorted() 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). Da es sich um ein Wörterbuch handelt, wird eine Liste von Schlüsseln zurückgegeben.
>>> mystring="54321"
>>> mytuple=(5,4,3,2,1)
>>> 4,3,2,1]
>>> sorted(mystring)
['1', '2', '3', '4', '5']
> >> sortiert(mytuple)
[1, 2, 3, 4, 5]
>>> sortiert(mylist)
[1, 2, 3, 4, 5]
reverse() wird auf die gleiche Weise wie sort verwendet, und reversed() wird auf die gleiche Weise wie sorted() verwendet
>>> 3,2, 1]
>>> mylist.reverse()
>>> ;> mylist =[5,4,3,2,1]
>>> für i in reversed(mylist):
... print i,
...
1 2 3 4 5
Der „Umkehr“-Effekt kann auch durch Slicing der Sequenz erreicht werden
>>> ; mytuple=(5 ,4,3,2,1)
>>> mylist=[5,4,3,2,1]
>>> 1]
'12345'
>>> mytuple[::-1]
(1, 2, 3, 4, 5)
>>> :-1]
[1, 2, 3, 4, 5]