Listen von Strings in Python sortieren
Eine der häufigsten Aufgaben beim Programmieren ist das Sortieren einer Liste von Strings. In Python gibt es mehrere Möglichkeiten, dies zu erreichen, jede mit ihren eigenen Vorzügen und Vorbehalten.
In-Place-Sortierung
Der einfachste Ansatz ist die Verwendung der Sortierung( )-Methode direkt in der Liste. Dadurch wird die ursprüngliche Liste geändert und ihre Elemente direkt vor Ort alphabetisch sortiert. Dieser Ansatz ist jedoch nicht ideal, wenn Sie die ursprüngliche Reihenfolge der Liste beibehalten möchten.
mylist = ["b", "C", "A"] mylist.sort()
Sortierte Kopien erstellen
Um eine sortierte Kopie von a zu erhalten Um die Liste aufzulisten, ohne das Original zu ändern, verwenden Sie die Funktion sorted():
for x in sorted(mylist): print(x)
Locale-Aware Sortieren
Die oben beschriebenen Sortiermethoden führen eine Sortierung unter Berücksichtigung der Groß-/Kleinschreibung und ohne Berücksichtigung des Gebietsschemas durch. Um gebietsschemaspezifische Regeln zu berücksichtigen, können Sie den Schlüsselparameter der Funktionen sort() oder sorted() zusammen mit der Hilfsfunktion cmp_to_key() aus dem functools-Modul verwenden:
sorted(mylist, key=cmp_to_key(locale.strcoll))
Dadurch wird sortiert die Liste entsprechend den aktuellen Gebietsschemaeinstellungen.
Benutzerdefinierte Gebietsschemas
Zuletzt, wenn Sie es brauchen Geben Sie ein benutzerdefiniertes Gebietsschema für die Sortierung an, verwenden Sie die Funktion setlocale() aus dem Gebietsschemamodul:
import locale locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') sorted((u'Ab', u'ad', u'aa'), key=cmp_to_key(locale.strcoll))
Das obige ist der detaillierte Inhalt vonWie sortiere ich Zeichenfolgen in Python: In-Place, Kopien, gebietsschemaspezifische und benutzerdefinierte Gebietsschemas?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!