Über Python sort () und reverse ()

Pythons Liste enthält Funktionen, die die Reihenfolge ändern, z. B. sort () und reverse (). Wenn Sie sie jedoch verwenden möchten, müssen Sie die Spezifikationen verstehen und verwenden.

Ich war neulich süchtig nach dem Ärger, also werde ich es verlassen.

Der Rückgabewert ist None

Zum Beispiel wie jede andere Funktion

print([1,3,8,7,4].sort())

Auch wenn ich schreibe, wird ** Keine angezeigt **.

Auf die gleiche Weise

print([1,3,8,7,4].reverse())

Das Ergebnis ist jedoch dasselbe.

Lesen Sie die Python-Dokumentation

sort()

Als ich vorerst die Python-Dokumentation las, fand ich so etwas.

Diese Methode ändert die Sequenz an Ort und Stelle, um beim Sortieren großer Sequenzen Platz zu sparen. Es wird keine sortierte Sequenz zurückgegeben, um den Benutzer darauf aufmerksam zu machen, dass dieser Vorgang als Nebeneffekt ausgeführt wird. http://docs.python.jp/3/library/stdtypes.html#list.sort

Dies bedeutet, dass sort () ** nur destruktive Änderungen vornimmt und keine sortierte Liste zurückgibt **.

Fahren Sie mit dem Dokument fort

Verwenden Sie sortiert (), um explizit eine neue Listeninstanz anzufordern

Es gibt.

Mit anderen Worten

l = [1,3,8,7,4]
l.sort()
print(l)

Oder schreiben

print(sorted([1,3,8,7,4]))

Muss geschrieben werden

reverse() reverse () auch, wenn ich das Dokument lese,

Die reverse () -Methode ändert die Sequenz an Ort und Stelle, um beim Umkehren großer Sequenzen Platz zu sparen. Dies gibt keine invertierte Sequenz zurück, um den Benutzer darauf aufmerksam zu machen, dass dieser Vorgang als Nebeneffekt ausgeführt wird http://docs.python.jp/3/library/stdtypes.html#mutable-sequence-types

Es gibt. Mit anderen Worten, wie bei sort () müssen Sie es einmal in eine Variable einfügen, eine destruktive Änderung vornehmen und es dann drucken.

Dann kommt eine Frage auf.

Gibt es ein reverse (), das eine umgekehrte Liste zurückgibt? Wann.

Zusammenfassend existiert die reverse () Funktion selbst.

Im Gegensatz zu sorted (), das eine sortierte Liste zurückgibt, gibt reverse () einen ** Iterator ** in der umgekehrten Reihenfolge der angegebenen Liste zurück.

Daher ist es notwendig, eine Liste aus dem Iterator zu generieren.

print([i for i in reversed([1,3,8,7,4])])

Und du musst.

Wenn Sie jedoch nur die Liste umblättern, ist das Schreiben einfacher.

print([1,3,8,7,4][::-1])

[:: -1] von [1,3,8,7,4] [:: -1] wird als Slice bezeichnet, und ich werde die Details weglassen, aber es ist eine Funktion, die einen Teil aus der Liste extrahieren und eine neue Liste erstellen kann. ist.

Sie können drei durch einen Doppelpunkt getrennte Werte angeben (dieser kann weggelassen werden). Der erste ist der Punkt, an dem die Extraktion beginnt, der zweite ist der Punkt, an dem die Extraktion endet, und der dritte ist das Extraktionsintervall.

Dieses Mal ist das Intervall -1, daher wird es zum Extrahieren um 1 erhöht (= alle extrahieren), und da es ein Minus hat, beginnt das Extrahieren am Ende der Liste.

Sie erhalten also eine Liste in umgekehrter Reihenfolge.

Als Methode zum Umkehren der Liste,

Ich möchte Speicherplatz sparen → reverse ()

Ich möchte jedem Wert eine Verarbeitung hinzufügen, während ich eine invertierte Liste erstelle (verdoppeln usw.) → umgekehrt ()

Ich möchte es vorerst umdrehen → Slice

Ich denke, Sie sollten es richtig verwenden.

Zusammenfassung

Wenn Sie sich nicht sicher sind, wie es sich verhält, lesen Sie die Dokumentation.

Recommended Posts

Über Python sort () und reverse ()
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Über Python, len () und randint ()
Informationen zu Python-Datums- und Zeitzone
Über Python und reguläre Ausdrücke
Python # Über Referenz und Kopie
[Python] Sortieren
Python #sort
Informationen zur Installation der Serien Pwntools und Python2
Über Python-Diktat und sortierte Funktionen
Über Python und Cython dtype
Über Python Pickle (cPickle) und Marschall
[Python] Über Executor und zukünftige Klassen
Über Python, aus und importieren, als
Reverse Flat Pseudonym und Katakana in Python2.7
Über Python-Slices
Über die Einschlussnotation von Python
Über Python tqdm.
Über die Python-Ausbeute
Über Python, Klasse
Informationen zur Python-Vererbung
Über Python, range ()
Über Python Decorator
Eine Geschichte über Python Pop und Append
Informationen zur Python-Referenz
Über Python-Dekorateure
[Python] Über Multi-Prozess
Apropos alte und neue Klassen in Python
Apropos Python-Klassenattribute und Metaklassen
Denken Sie an Suchvorgänge mit Tiefenpriorität und Breitenpriorität in Python
Über den Unterschied zwischen "==" und "is" in Python
Ein Memo, das ich in Python zusammengeführt habe
Eine Geschichte über das Ändern von Python und das Hinzufügen von Funktionen
[Python] Erfahren Sie mehr über asynchrone Programmierung und Ereignisschleifen
Über flache und tiefe Kopien von Python / Ruby
Python> Nach Nummer sortieren und nach Alphabet sortieren> Sortiert verwenden ()
Über Python für Schleife
Über Funktionsargumente (Python)
Python- und Numpy-Tipps
[Python] Pip und Wheel
Python Iterator und Generator
Blasensortierung in Python
Python selbst erstellte Klassensortierung
Python-Pakete und -Module
Vue-Cli- und Python-Integration
[Python] Memo über Funktionen
Ruby, Python und Map
Zusammenfassung über Python3 + OpenCV3
[Memo] Python 3-Listensortierung
Python und Ruby teilen sich
Informationen zur Python-Entwicklungsumgebung
Python: Über Funktionsargumente
Python, über die Ausnahmebehandlung
Python-Spickzettel
Benutzerdefinierte Sortierung in Python3
Über Python Pyramid Traversal