Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich Zeichenfolgen in Python: In-Place, Kopien, gebietsschemaspezifische und benutzerdefinierte Gebietsschemas?

Wie sortiere ich Zeichenfolgen in Python: In-Place, Kopien, gebietsschemaspezifische und benutzerdefinierte Gebietsschemas?

DDD
DDDOriginal
2024-11-10 17:26:031048Durchsuche

How to Sort Strings in Python: In-Place,  Copies, Locale-Aware, and Custom Locales?

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!

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