Heim >Backend-Entwicklung >Python-Tutorial >Sortiermethode für Python-Listen

Sortiermethode für Python-Listen

高洛峰
高洛峰Original
2016-11-23 13:27:451603Durchsuche

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]

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn