Project

General

Profile

Sorteren

Woorden alfabetisch sorteren is niet moeilijk als alleen gebruik wordt gemaakt van de 26 letters van het alfabet. Als er ook andere karakters en letters met diakritische tekens worden gebruikt is dat gelijk een grotere uitdaging. Voor het alfabetisch ordenen van woorden gebruikt OpenTaal de volgende sortering.

(
u" ", u".", u"'", u"-", u"+", 
u"0", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", 
u"a", u"A", u"ä", u"Ä", u"á", u"Á", u"â", u"Â", u"à", u"À", u"å", u"Å", 
u"b", u"B", 
u"c", u"C", u"ç", u"Ç", 
u"d", u"D", 
u"e", u"E", u"ë", u"Ë", u"é", u"É", u"ê", u"Ê", u"è", u"È", 
u"f", u"F", 
u"g", u"G", 
u"h", u"H", 
u"i", u"I", u"ï", u"Ï", u"í", u"Í", u"î", u"Î", u"ì", u"Ì", 
u"j", u"J", 
u"k", u"K", 
u"l", u"L", 
u"m", u"M", 
u"n", u"N", u"ñ", u"Ñ", 
u"o", u"O", u"ö", u"Ö", u"ó", u"Ó", u"ô", u"Ô", u"ò", u"Ò", u"ø", u"Ø", 
u"p", u"P", 
u"q", u"Q", 
u"r", u"R", 
u"s", u"S", 
u"t", u"T", 
u"u", u"U", u"ü", u"Ü", u"ú", u"Ú", u"û", u"Û", u"ù", u"Ù", 
u"v", u"V", 
u"w", u"W", 
u"x", u"X", 
u"y", u"Y", 
u"z", u"Z", 
)

Als deze gewenst sorteervolgorde achtereen wordt afgedrukt, ziet deze er zo uit.

  . ' - + 0 1 2 3 4 5 6 7 8 9 a A ä Ä á Á â Â à À å Å b B c C ç Ç d D e E ë Ë
é É ê Ê è È f F g G h H i I ï Ï í Í î Î ì Ì j J k K l L m M n N ñ Ñ o O ö Ö ó
Ó ô Ô ò Ò ø Ø p P q Q r R s S t T u U ü Ü ú Ú û Û ù Ù v V w W x X y Y z Z

Als de programmeertaal Python deze karakters zelf sorteert met behulp van de functie sorted(), is het resultaat helaas het volgende.

  ' + - . 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X
Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z À Á Â Ä Å Ç È É Ê Ë Ì
Í Î Ï Ñ Ò Ó Ô Ö Ø Ù Ú Û Ü à á â ä å ç è é ê ë ì í î ï ñ ò ó ô ö ø ù ú û ü

Als via de commandline met sort -d wordt gesorteerd is het resultaat helaas als volgt.

- . ' + á Á à À â Â å Å ä Ä ç Ç é É è È ê Ê ë Ë í Í ì Ì î Î ï Ï ñ Ñ ó Ó ò Ò ô
Ô ö Ö ø Ø ú Ú ù Ù û Û ü Ü   0 1 2 3 4 5 6 7 8 9 a A b B c C d D e E f F g G h
H i I j J k K l L m M n N o O p P q Q r R s S t T u U v V w W x X y Y z Z

Maar als met sort wordt gesorteerd is het resultaat iets beter maar nog steeds niet zoals is gewenst.

  - . ' + 0 1 2 3 4 5 6 7 8 9 a A á Á à À â Â å Å ä Ä b B c C ç Ç d D e E é É
è È ê Ê ë Ë f F g G h H i I í Í ì Ì î Î ï Ï j J k K l L m M n N ñ Ñ o O ó Ó ò
Ò ô Ô ö Ö ø Ø p P q Q r R s S t T u U ú Ú ù Ù û Û ü Ü v V w W x X y Y z Z

Zie ook