Python-Ref > String manipulation > Unicode > Unicode sorting
 
 

<-^^->
Klíčová slova
Moduly

Unicode sorting

Expand/Shrink
Příliš
žluťoučký
koníček
váha
vaha
volha
víno
vb
výtka
chaluha
ctěný
duha
luk
lux
Zdroj: (unicode3-1.py)
  1   words = []
  2   f = file( "unitext.txt")
  3   for line in f:
  4       words.append( line.strip().decode("utf-8"))
  5   
  6   print "---------- original ----------"
  7   for w in words:
  8       print w.encode('utf-8')
  9   
 10   print "---------- normal sort ----------"
 11   words.sort()
 12   for w in words:
 13       print w.encode('utf-8')
 14   
 15   print "---------- english sort ----------"
 16   import locale
 17   locale.setlocale(locale.LC_ALL, "en_US")
 18   words.sort( cmp=locale.strcoll)
 19   for w in words:
 20       print w.encode('utf-8')
 21       
 22   print "---------- czech sort ----------"
 23   locale.setlocale(locale.LC_ALL, "cs_CZ")
 24   words.sort( cmp=locale.strcoll)
 25   for w in words:
 26       print w.encode('utf-8')
stdout:
---------- original ----------
Příliš
žluťoučký
koníček
váha
vaha
volha
víno
vb
výtka
chaluha
ctěný
duha
luk
lux
---------- normal sort ----------
Příliš
chaluha
ctěný
duha
koníček
luk
lux
vaha
vb
volha
váha
víno
výtka
žluťoučký
---------- english sort ----------
chaluha
ctěný
duha
koníček
luk
lux
Příliš
vaha
váha
vb
víno
volha
výtka
žluťoučký
---------- czech sort ----------
ctěný
duha
chaluha
koníček
luk
lux
Příliš
vaha
váha
vb
víno
volha
výtka
žluťoučký
Doba běhu: 22.6 ms
Expand/Shrink
Chefarzt
Cumolonimbus
Certifikat
Strass
Strassort (nonsence)
Straßenbahn
Ökologie
Ober

Zdroj: (unicode3-2.py)
  1   words = []
  2   f = file( "unitext2.txt")
  3   for line in f:
  4       words.append( line.strip().decode('utf-8'))
  5   
  6   #words = [w.decode("utf-8") for w in words]
  7   
  8   print "---------- original ----------"
  9   for w in words:
 10       print w.encode('utf-8')
 11   
 12   print "---------- normal sort ----------"
 13   words.sort()
 14   for w in words:
 15       print w.encode('utf-8')
 16   
 17   print "---------- english sort ----------"
 18   import locale
 19   locale.setlocale(locale.LC_ALL, "en_GB")
 20   words.sort( cmp=locale.strcoll)
 21   for w in words:
 22       print w.encode('utf-8')
 23   
 24   print "---------- czech sort ----------"
 25   locale.setlocale(locale.LC_ALL, "cs_CZ")
 26   words.sort( cmp=locale.strcoll)
 27   for w in words:
 28       print w.encode('utf-8')
 29   
 30   print "---------- german sort ----------"
 31   locale.setlocale(locale.LC_ALL, "de_DE")
 32   words.sort( cmp=locale.strcoll)
 33   for w in words:
 34       print w.encode('utf-8')
stdout:
---------- original ----------
Chefarzt
Cumolonimbus
Certifikat
Strass
Strassort (nonsence)
Straßenbahn
Ökologie
Ober

---------- normal sort ----------

Certifikat
Chefarzt
Cumolonimbus
Ober
Strass
Strassort (nonsence)
Straßenbahn
Ökologie
---------- english sort ----------

Certifikat
Chefarzt
Cumolonimbus
Ober
Ökologie
Strass
Straßenbahn
Strassort (nonsence)
---------- czech sort ----------

Certifikat
Cumolonimbus
Chefarzt
Ober
Ökologie
Strass
Straßenbahn
Strassort (nonsence)
---------- german sort ----------

Certifikat
Chefarzt
Cumolonimbus
Ober
Ökologie
Strass
Straßenbahn
Strassort (nonsence)
Doba běhu: 22.3 ms