История изменений
Исправление x3al, (текущая версия) :
RTFM, питон из коробки в юникод не умеет и никогда не умел.
>>> import icu # https://pypi.org/project/PyICU/
>>> l = ["ёж", "ёжик", "ежу", "ёжику", "ель", "елей", "ежи", "ел"]
>>> sorted(l, key=icu.Collator.createInstance(icu.Locale('ru_RU.UTF-8')).getSortKey)
['ёж', 'ежи', 'ёжик', 'ёжику', 'ежу', 'ел', 'елей', 'ель']
>>> sorted(l, key=icu.Collator.createInstance(icu.Locale('ky_KY.UTF-8')).getSortKey)
['ежи', 'ежу', 'ел', 'елей', 'ель', 'ёж', 'ёжик', 'ёжику']
Исправление x3al, :
RTFM, питон из коробки в юникод не умеет и никогда не умел.
>>> import icu
>>> l = ["ёж", "ёжик", "ежу", "ёжику", "ель", "елей", "ежи", "ел"]
>>> sorted(l, key=icu.Collator.createInstance(icu.Locale('ru_RU.UTF-8')).getSortKey)
['ёж', 'ежи', 'ёжик', 'ёжику', 'ежу', 'ел', 'елей', 'ель']
>>> sorted(l, key=icu.Collator.createInstance(icu.Locale('ky_KY.UTF-8')).getSortKey)
['ежи', 'ежу', 'ел', 'елей', 'ель', 'ёж', 'ёжик', 'ёжику']
Исходная версия x3al, :
RTFM, питон из коробки в юникод не умеет и никогда не умел.
>>> import icu
>>> l = ["ёж", "ёжик", "ежу", "ёжику", "ель", "елей", "ежи", "ел"]
>>> sorted(l, key=icu.Collator.createInstance(icu.Locale('ru_RU.UTF-8')).getSortKey)
['ёж', 'ежи', 'ёжик', 'ёжику', 'ежу', 'ел', 'елей', 'ель']