[Python-de] 'z' < 'ä'

Stefan Behnel python-de at behnel.de
Di Okt 3 12:15:47 EDT 2017


Bastian Blank schrieb am 02.10.2017 um 16:24:
> Stefan Ram wrote:
>>   Gibt es eine Möglichkeit, beispielsweise zum Sortieren von
>>   Texten, Python zu erklären, daß man »ä« wie »ae« einordnen
>>   möchte (oder direkt davor oder dahinter)?
> 
> Sicher:
> 
> | >>> import locale
> | >>> locale.setlocale(locale.LC_ALL, '')
> | 'LC_CTYPE=de_DE.UTF-8;LC_NUMERIC=de_DE.UTF-8;LC_TIME=de_DE.UTF-8;LC_COLLATE=de_DE.UTF-8;LC_MONETARY=de_DE.UTF-8;LC_MESSAGES=en_GB.UTF-8;LC_PAPER=de_DE.UTF-8;LC_NAME=de_DE.UTF-8;LC_ADDRESS=de_DE.UTF-8;LC_TELEPHONE=de_DE.UTF-8;LC_MEASUREMENT=de_DE.UTF-8;LC_IDENTIFICATION=de_DE.UTF-8'
> | >>> locale.strcoll('b', 'ä')
> | 1
> | >>> locale.strcoll('a', 'ä')
> | -8

Wobei zu unterstreichen ist, dass das Locale eine globale Einstellung ist.
So etwas kann mensch auf Anwendungsebene und in Skripten einstellen, aber
in einer Bibliothek oder auf Wiederverwendung abzielendem Code sollte es
ungefragt vermieden werden. Ist also nur in gewissen Grenzen hilfreich.

Stefan


Mehr Informationen über die Mailingliste python-de