Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine natürliche String-Sortierung in Python durchführen?

Wie kann ich eine natürliche String-Sortierung in Python durchführen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-28 14:29:11330Durchsuche

How Can I Perform Natural String Sorting in Python?

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!

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
Vorheriger Artikel:RandomVerticalFlip in PyTorchNächster Artikel:RandomVerticalFlip in PyTorch