Heim >Backend-Entwicklung >Python-Tutorial >Wie kann die „natsort'-Bibliothek von Python eine natürliche String-Sortierung durchführen?

Wie kann die „natsort'-Bibliothek von Python eine natürliche String-Sortierung durchführen?

Linda Hamilton
Linda HamiltonOriginal
2025-01-04 07:10:331015Durchsuche

How Can Python's `natsort` Library Perform Natural String Sorting?

Durchführen einer natürlichen Sortierung mit Zeichenfolgen in Python

In Python kann die Durchführung einer natürlichen alphabetischen Sortierung für eine Liste von Zeichenfolgen mithilfe von dritten Parteibibliotheken. Eine solche Bibliothek ist natsort, die eine Vielzahl von Methoden zur natürlichen Sortierung bereitstellt.

Um beispielsweise eine Liste von Zeichenfolgen in einer natürlichen Reihenfolge zu sortieren, kann man natsorted():

from natsort import natsorted

list = ['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9']
natsorted(list, key=lambda y: y.lower())  # or natsorted(list, alg=ns.IGNORECASE)
# Output: ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
Alternativ kann ein Sortierschlüssel mit natsort_keygen() generiert werden:

from natsort import natsort_keygen

natsort_key = natsort_keygen(key=lambda y: y.lower())  # or natsort_keygen(alg=ns.IGNORECASE)
list.sort(key=natsort_key)
# Output: ['elm0', 'elm1', 'Elm2', 'elm9', 'elm10', 'Elm11', 'Elm12', 'elm13']
Die Natsort-Bibliothek verwendet eine verallgemeinerte Algorithmus zur Verarbeitung verschiedener Eingabetypen, einschließlich Zeichenfolgen mit Sonderzeichen und Zahlen. Die Dokumentation enthält detaillierte Erklärungen und Beispiele seiner Sortierfunktionen.

Darüber hinaus enthält natsort jetzt os_sorted, um Pfade in einer Weise zu sortieren, die mit dem Dateisystembrowser des Betriebssystems konsistent ist.

Das obige ist der detaillierte Inhalt vonWie kann die „natsort'-Bibliothek von Python eine natürliche String-Sortierung 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