• Sorting (collation) of German texts, the Eszett case.

    From moi@wxjmfauth@gmail.com to comp.lang.python on Sun Feb 18 23:54:55 2024
    From Newsgroup: comp.lang.python

    (Archive)
    An example illustrating that "ss" and "ß" are not equivalent.
    Old ß form, : added for the fun.
    Upper cased form : same logic, same correct result, not shown.
    from TriEszett import qlef
    a = ['Maske', 'Maß', 'Masse', 'Maße', 'Massen', 'Maßen', 'Mast', 'Maſʒe']
    r = sorted(a * 5, key=qlef)
    print(r)
    ['Maske', 'Maske', 'Maske', 'Maske', 'Maske', 'Maß', 'Maß', 'Maß', 'Maß',
    'Maß', 'Masse', 'Masse', 'Masse', 'Masse', 'Masse', 'Maße', 'Maße', 'Maße', 'Maße', 'Maße', 'Maſʒe', 'Maſʒe', 'Maſʒe', 'Maſʒe', 'Maſʒe',
    'Massen', 'Massen', 'Massen', 'Massen', 'Massen', 'Maßen', 'Maßen', 'Maßen', 'Maßen', 'Maßen', 'Mast', 'Mast', 'Mast', 'Mast', 'Mast']
    for e in r:
    ... print(e)
    ...
    Maske
    Maske
    Maske
    Maske
    Maske
    Maß
    Maß
    Maß
    Maß
    Maß
    Masse
    Masse
    Masse
    Masse
    Masse
    Maße
    Maße
    Maße
    Maße
    Maße
    Maſʒe
    Maſʒe
    Maſʒe
    Maſʒe
    Maſʒe
    Massen
    Massen
    Massen
    Massen
    Massen
    Maßen
    Maßen
    Maßen
    Maßen
    Maßen
    Mast
    Mast
    Mast
    Mast
    Mast
    --- Synchronet 3.20a-Linux NewsLink 1.114