Implementierung der ursprünglichen Sortierung in Python

Normale Sortierung

Wenn Sie die Liste in Python sortieren möchten, können Sie sie mithilfe der Funktion sort () wie unten gezeigt einfach sortieren.

>>> l = ['B', 'C', 'A']
>>> l.sort()
>>> print l
['A', 'B', 'C']

Wenn Sie jedoch die Dateiliste mit Punkten wie ".file" sortieren, werden die Dateien mit Punkten zuerst wie unten gezeigt in einer Reihe angeordnet.

>>> files = ['file01', 'file02', '.file04', 'file03']
>>> files.sort()
>>> print files
['.file04', 'file01', 'file02', 'file03']

Ursprüngliche Sortierung unter Verwendung des Lambda-Ausdrucks

Wenn Sie beispielsweise nach dem Teil sortieren möchten, der keine Punkte enthält, wie die Ausgabe des Befehls ls, können Sie den Lambda-Ausdruck wie folgt verwenden.

>>> files = ['file01', 'file02', '.file04', 'file03']
>>> sortKey = lambda f: f if not f.startswith('.') else f[1:]
>>> files.sort(key=sortKey)
>>> print files
['file01', 'file02', 'file03', '.file04']

Der sortKey gibt an, wie ein Schlüssel zum Sortieren generiert wird. Insbesondere wird das Sortierziel als "f" übergeben, und wenn am Anfang ein Punkt mit "f.startswith (". ")" Steht, wird das zweite Zeichen ausgeschnitten und als Schlüssel verwendet.

Andere Anwendungen

Sie können die Liste beispielsweise nach Dateigröße sortieren, indem Sie folgende Schritte ausführen:

>>> import os
>>> files = ['file01', 'file02', '.file04', 'file03']
>>> sortKey = lambda f: os.state(f).st_size
>>> files.sort(key=sortKey)


Recommended Posts

Implementierung der ursprünglichen Sortierung in Python
Implementierung der schnellen Sortierung in Python
Sortieralgorithmus und Implementierung in Python
Implementierung eines Lebensspiels in Python
RNN-Implementierung in Python
Grundlegende Sortierung in Python
ValueObject-Implementierung in Python
SVM-Implementierung in Python
Erläuterung der Bearbeitungsentfernung und Implementierung in Python
Objektäquivalenzbeurteilung in Python
Techniken zum Sortieren in Python
Python-Implementierung des Partikelfilters
Implementierung eines neuronalen Netzwerks in Python
Höchstwahrscheinlich Schätzungsimplementierung des Themenmodells in Python
Implementierung der Bayes'schen Varianzschätzung des Themenmodells in Python
Ein Memorandum über die Umsetzung von Empfehlungen in Python
Wahrscheinlich in einer Nishiki-Schlange (Originaltitel: Vielleicht in Python)
Bildpixel-Manipulation in Python
Implementierung der HMM-Parameterschätzung in Python
Python-Implementierung eines selbstorganisierenden Partikelfilters
Implementierung einer gemischten Normalverteilung in Python
MySQL-automatische Escape-Funktion von Parametern in Python
Umgang mit JSON-Dateien in Python
Audio-Wellenform-Anzeige in Python
Implementierung von Desktop-Benachrichtigungen mit Python
Python-Implementierung eines nicht rekursiven Segmentbaums
Implementierung von Light CNN (Python Keras)
Das Gesetz der Zahlen in Python
Implementierung der Dyxtra-Methode durch Python
Reversibles Verwürfeln von Ganzzahlen in Python
Überprüfen Sie das Verhalten des Zerstörers in Python
Übung, dies in Python zu verwenden (schlecht)
Allgemeine Relativitätstheorie in Python: Einführung
Ausgabebaumstruktur von Dateien in Python
Vergleich japanischer Konvertierungsmodule in Python3
Es ist eine Implementierung von ConnectionPool in redis.py
Zusammenfassung verschiedener for-Anweisungen in Python
Das Ergebnis der Installation von Python auf Anaconda
Gang of Four (GoF) -Muster in Python
Massenersatz von Zeichenfolgen in Python-Arrays
Projekt Euler # 16 "Summe der Kräfte" in Python
Traffic Safety-Kun: Erkennung von Verkehrszeichen in Python
Nicht logische Operatorverwendung von oder in Python
Auf der Suche nach dem schnellsten FizzBuzz in Python
Praktisches Beispiel für hexagonale Architektur in Python
Projekt Euler # 17 "Anzahl der Zeichen" in Python
Doppelte Pendelbewegungsgleichung in Python
Entfernen Sie DICOM-Bilder in Python
Python-Implementierung eines kontinuierlichen Hidden-Markov-Modells
Status jedes Python-Verarbeitungssystems im Jahr 2020
Projekt Euler # 1 "Vielfaches von 3 und 5" in Python
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
Geokodierung in Python
Metaanalyse in Python
Unittest in Python