Listen von Strings in Python sortieren
Eine der häufigsten Aufgaben beim Programmieren ist das Sortieren von Textdaten. In Python kann das Sortieren einer Liste von Zeichenfolgen mithilfe verschiedener Techniken erreicht werden.
Grundlegende Sortierung
Die einfachste Methode besteht darin, die Methode sort() für die Liste selbst zu verwenden . Dadurch wird die Liste direkt sortiert und die ursprüngliche Reihenfolge geändert.
mylist = ["b", "C", "A"] mylist.sort()
Sortierte Kopie
Wenn Sie eine sortierte Kopie der Liste erstellen möchten, ohne die zu ändern Original, verwenden Sie die Funktion sorted().
for x in sorted(mylist): print(x)
Gebietsspezifische Sortierung
Standardmäßig führt Python eine ausschließlich ASCII-Sortierung unter Berücksichtigung der Groß- und Kleinschreibung durch. Um gebietsschemaspezifische Regeln zu berücksichtigen, verwenden Sie den Schlüsselparameter mit dem Helfer cmp_to_key() von functools.
import locale from functools import cmp_to_key sorted(mylist, key=cmp_to_key(locale.strcoll))
Benutzerdefinierte Gebietsschemasortierung
Sie können ein benutzerdefiniertes Gebietsschema angeben zum Sortieren. Um beispielsweise nach englischen Regeln mit UTF-8-Kodierung zu sortieren:
import locale locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') # ...
Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung
Vermeiden Sie die Verwendung von Methoden wie „lower()“ für die Groß-/Kleinschreibung. unempfindliche Sortierung, da sie nur für ASCII-Zeichen funktioniert. Verwenden Sie stattdessen die länderspezifische Sortierung mit Tools wie strcoll().
Falsche Sortierung ohne Berücksichtigung der Groß- und Kleinschreibung
# Incorrect because it uses lower(), which is limited to ASCII mylist.sort(key=lambda x: x.lower())
Das obige ist der detaillierte Inhalt vonSo sortieren Sie String-Listen in Python: Eine umfassende Anleitung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!