编程语言
首页 > 编程语言> > 为python排序波斯字符串

为python排序波斯字符串

作者:互联网

参见英文答案 > How do I sort unicode strings alphabetically in Python?                                    11个
我想使用python的sort函数,但它不能正常工作.

sorted( ['ا', 'ب', 'پ', 'ح', 'س', 'ص', 'ف', 'ک', 'ک', 'ک', 'م', 'م']) = 
 ['ا', 'ب', 'ح', 'س', 'ص', 'ف', 'م', 'م', 'پ', 'ک', 'ک', 'ک']

解决方法:

尝试使用PyICU

import PyICU
collator = PyICU.Collator.createInstance(PyICU.Locale('fa_IR.UTF-8'))

print ([i for i in sorted(['ا', 'ب', 'پ', 'ح', 'س', 'ص', 'ف', 'ک', 'ک', 'ک', 'م', 'م'], key=collator.getSortKey)])

标签:python,persian
来源: https://codeday.me/bug/20190527/1161449.html