Natürliche String-Sortierung in Python
Natürliche Sortierung ist ein alphabetischer Sortieralgorithmus, der String-Nummern und -Versionen korrekt verarbeitet. Beispielsweise sollte „elm0“ vor „elm10“ sortiert werden, auch wenn „10“ im mathematischen Vergleich als größer als „0“ angesehen wird.
Pythons native Funktion sorted() führt standardmäßig keine natürliche Sortierung durch. Um dieses Verhalten zu erreichen, können Sie die Natsort-Bibliothek verwenden, die einen natürlichen Sortieralgorithmus implementiert.
Um Natsort zu verwenden, installieren Sie es über:
pip install natsort
Dann, je nach Ihren Anforderungen, Sie kann entweder die Sortierfunktion oder einen Sortierschlüssel verwenden:
Sortierung Funktion:
from natsort import natsorted names = ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13'] natsorted(names) # ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
Sortierschlüssel:
from natsort import natsort_keygen names = ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13'] sort_key = natsort_keygen() names.sort(key=sort_key) # ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
Alternativ können Sie bei Bedarf die Sortieralgorithmen von natsort verwenden, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird:
from natsort import ns natsorted(names, alg=ns.IGNORECASE) # ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
Die Natsort-Bibliothek bietet eine umfassende Lösung für die Durchführung einer natürlichen Sortierung in Python, die Verarbeitung verschiedener Eingabeformate und die Bereitstellung Optionen für die Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung sowie Kompatibilität mit der Browsersortierung des Dateisystems des Betriebssystems.
Das obige ist der detaillierte Inhalt vonWie kann ich eine natürliche String-Sortierung in Python durchführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!