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

Diez B. Roggisch deets at web.de
Mo Okt 2 10:17:08 EDT 2017


Das Problem nennt sich “Collations” und ist wie alles was mit Unicode zu tun hat kompliziert.

Denn AFAIK ist zB im schwedischen die Sortierreihenfolge genau richtig. Und dann gibt’s auch noch so Sachen in tschechisch glaube ich, wo die Sortierreihenfolge eines Buchstabens abhaengig vom Kontext ist. So Dinge halt.

Konkret klappt das fuer mich mit pyuca:

from pyuca import Collator
c = Collator()

l = ["z", "ä"]

print(repr(sorted(l)).encode("utf-8"))
print(repr(sorted(l, key=c.sort_key)).encode("utf-8"))


Das encoding-gefummel ist wegen meinem Python 3.5 und dessen unwillen, irgendwas lesbares auf der Konsole auszugeben. *seufz*.

LG Diez

> On 2. Oct 2017, at 15:57, Stefan Ram <ram at zedat.fu-berlin.de> wrote:
> 
>  In Python scheint
> 
> 'z' < 'ä'
> 
>  wahr zu sein. Ist dies wie
> 
> ord( 'z' )< ord( 'ä' )
> 
>  zu verstehen?
> 
>  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)?
> 
> _______________________________________________
> python-de maillist  -  python-de at python.org
> https://mail.python.org/mailman/listinfo/python-de
> 

-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 529 bytes
Beschreibung: Message signed with OpenPGP
URL         : <http://mail.python.org/pipermail/python-de/attachments/20171002/15cedb0d/attachment.sig>


Mehr Informationen über die Mailingliste python-de