Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich Zeichenfolgen mit Zahlen richtig?
So sortieren Sie Zeichenfolgen mit Zahlen richtig
Das Sortieren von Zeichenfolgen, die Zahlen enthalten, kann eine Herausforderung sein. Die Standardmethode sort() behandelt jedes Zeichen als eigene Entität, was zu einer falschen Reihenfolge führt. Um solche Zeichenfolgen korrekt zu sortieren, ist ein ausgefeilterer Ansatz erforderlich.
Eine effektive Methode ist die menschliche Sortierung, bei der reguläre Ausdrücke verwendet werden, um die numerischen Komponenten aus den Zeichenfolgen zu extrahieren. Mit dieser Technik können die Zahlen unabhängig von den alphabetischen Teilen sortiert werden.
Um die menschliche Sortierung zu implementieren, befolgen Sie diese Schritte:
Beispiel:
import re def atoi(text): return int(text) if text.isdigit() else text def natural_keys(text): return [ atoi(c) for c in re.split(r'(\d+)', text) ] alist = [ "something1", "something12", "something17", "something2", "something25", "something29"] alist.sort(key=natural_keys) print(alist)
Ausgabe:
['something1', 'something2', 'something12', 'something17', 'something25', 'something29']
Dieser Ansatz sortiert die genau Zeichenfolgen unter Berücksichtigung sowohl der alphabetischen als auch der numerischen Teile.
Das obige ist der detaillierte Inhalt vonWie sortiere ich Zeichenfolgen mit Zahlen richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!