[Python] Sammlungstypen sortieren

Fassen Sie zusammen, wie Python-Sammlungstypen sortiert werden.

aufführen

Die erste ist die Verwendung der Listenmethode. Die Sortiermethode nimmt keinen Rückgabewert an und schreibt die ursprüngliche Liste neu. Standardmäßig ist es in aufsteigender Reihenfolge sortiert.

>>> a = [8, 1, 5, 3, 6]
>>> a.sort()
>>> a
[1, 3, 5, 6, 8]

Wenn Sie in absteigender Reihenfolge sortieren möchten, setzen Sie das umgekehrte Schlüsselwort des Arguments auf True.

>>> a = [8, 1, 5, 3, 6]
>>> a.sort(reverse=True)
>>> a
[8, 6, 5, 3, 1]

Die zweite Methode ist die Verwendung der sortierten Funktion. Die sortierte Funktion gibt eine sortierte Liste zurück.

>>> a = [8, 1, 5, 3, 6]
>>> sorted(a)
[1, 3, 5, 6, 8]

Selbst mit der sortierten Funktion können Sie in absteigender Reihenfolge sortieren, indem Sie das umgekehrte Schlüsselwort auf True setzen.

>>> a = [8, 1, 5, 3, 6]
>>> sorted(a, reverse=True)
[8, 6, 5, 3, 1]

Wörterbuch

Python-Wörterbücher können nicht sortiert werden, da die Reihenfolge nicht garantiert ist. Wenn Sie ein Wörterbuch als Argument an die sortierte Funktion übergeben, wird nur eine sortierte Liste von Schlüsseln zurückgegeben.

>>> b = {'Matsui': 55, 'Ichiroh': 51, 'Kuroda': 18}
>>> sorted(b)
['Ichiroh', 'Kuroda', 'Matsui']

Die Methode items gibt ein verschachteltes Taple in der Liste zurück. Zu diesem Zeitpunkt ist es nach Schlüssel sortiert.

>>> b = {'Matsui': 55, 'Ichiroh': 51, 'Kuroda': 18}
>>> sorted( b.items() )
[('Ichiroh', 51), ('Kuroda', 18), ('Matsui', 55)]

Wenn Sie nach Wert sortieren möchten, verwenden Sie den Schlüsselparameter und die Lambda-Funktion.

>>> b = {'Matsui': 55, 'Ichiroh': 51, 'Kuroda': 18}
>>> sorted(b.items(), key=lambda x:x[1])
[('Kuroda', 18), ('Ichiroh', 51), ('Matsui', 55)]

Wenn Sie unter Beibehaltung der Struktur sortieren möchten, verwenden Sie OrderedDict. * Hinzugefügt / korrigiert, wie von @shiracamus hervorgehoben.

>>> b = {'Matsui': 55, 'Ichiroh': 51, 'Kuroda': 18}
>>> b
{'Ichiroh': 51, 'Matsui': 55, 'Kuroda': 18}
>>> from collections import OrderedDict
>>> c = OrderedDict(sorted(b.items(), key=lambda x:x[1]))
>>> c
OrderedDict([('Kuroda', 18), ('Ichiroh', 51), ('Matsui', 55)])
>>> c.values()
[18, 51, 55]
>>> c.keys()
['Kuroda', 'Ichiroh', 'Matsui']

Taple

Da Tapples unveränderliche Objekte sind, können sie nicht streng sortiert werden, sondern können mithilfe der Sortier- und Tupelfunktionen erreicht werden.

>>> d = (8, 1, 5, 3, 6)
>>> tuple( sorted(d) )
(1, 3, 5, 6, 8)

Bitte beachten Sie auch die Offizielle Seite.

Recommended Posts

[Python] Sammlungstypen sortieren
[Python] Sortieren
Python #sort
Python (3) Dominer ORM-Sammlung
Blasensortierung in Python
Python selbst erstellte Klassensortierung
Python kleine Geschichte Sammlung
[Memo] Python 3-Listensortierung
Python-Spickzettel
Benutzerdefinierte Sortierung in Python3
Organisieren Sie Typen in Python
Python-Modul-Importe alphabetisch sortieren
Sortieren Sie den Pfad natürlich in Python
Python Basic Dikt Sortierreihenfolge
Sortieren Sie große Dateien mit Python
Absteigende Sorte mit Mongodb in Python
Python-Snippet-Sammlung mit Kino4d
Python-Anfänger organisieren Blasensorten
Bildverarbeitungssammlung in Python
Sortieren nach Datum in Python
Über Python sort () und reverse ()
[Python] Zufällige Verarbeitung (erstellen, auswählen, sortieren)
[Python] Sortierbar nach mehreren Bedingungen sortieren
Python
Scala-ähnliche Erfassungsoperation in Python
Sortieren Sie große Textdateien in Python
[Python] Einzeilige Starlin-Sortierung mit 50 Zeichen
Sortieren
Generieren Sie eine erstklassige Sammlung in Python
Was ist neu in Python 3.9 (2) -Sortierte nicht verteilte Diagramme in Python
Python-Zahlen, Zeichenfolgen, Listentypen (Python-Lernnotiz ①)
[Neuerfindung der Räder] Von Menschen betriebene Turniersorte [Python]
Konvertieren Sie den Python-Datumstyp in das RFC822-Format
Wissenschaftliche Programmierung Petit Tech Collection in Python
Stuge Sort in Python 3 implementiert (Bubble Sort & Quick Sort)
[Python] Ich habe nach verschiedenen Typen gesucht! (Tippen)