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
Freigeben: 2024-11-10 17:26:03
Original
1045 Leute haben es durchsucht

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()
Nach dem Login kopieren

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)
Nach dem Login kopieren

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))
Nach dem Login kopieren

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))
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage