Python的str.__lt__
或sorted
订单字符是基于其unicode索引还是依赖于某些区域设置的排序规则?
答案 0 :(得分:4)
不,字符串排序不考虑区域设置。它完全基于Unicode代码点排序顺序。
locale
模块确实为您提供了locale.strxform()
function,可用于特定于语言环境的排序:
import locale
sorted(list_of_strings, key=locale.strxfrm)
此工具 非常有限;对于任何严重的整理任务,您可能想要使用PyICU library:
import PyICU
collator = PyICU.Collator.createInstance(PyICU.Locale(locale_spec))
sorted(list_of_strings, key=collator.getSortKey)