Python 的 str.__lt__
或 sorted
是否根据字符的 unicode 索引或某些与语言环境相关的排序规则对字符进行排序?
最佳答案
不,字符串排序不考虑语言环境。它完全基于 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)
关于python - Python 3 字符串排序是否取决于语言环境?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26505661/