Python 3字符串排序是否依赖于语言环境?

时间:2014-10-22 10:43:59

标签: python python-3.x unicode

Python的str.__lt__sorted订单字符是基于其unicode索引还是依赖于某些区域设置的排序规则?

1 个答案:

答案 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)