如何在Python中用阿拉伯语对计数器进行排序

时间:2018-03-07 20:40:43

标签: python python-3.x

由于阿拉伯语从右侧开始,如果我执行以下操作将会出现错误:

cnt = {}
cnt["پ"] = 5 # right start char
cnt["t"] = 4 # left start char
import operator
sorted(cnt, key=operator.itemgetter(1), reverse=True)

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您从sorted中获得的错误与阿拉伯语无关。您从sorted中获得的错误是因为您尝试对cnt进行排序,但您的key函数的编写方式就像它排序cnt.items()一样。如果您添加items()来电,sorted(cnt.items(), key=operator.itemgetter(1), reverse=True)的行为将相同,无论cnt的密钥是否使用阿拉伯字符。

至于显示问题,由于阿拉伯语,那些 。将混合的RTL和LTR文本正确显示并不容易,尤其是在源代码等上下文中,您无法在不改变含义的情况下插入格式化字符。我建议不要在源代码中使用RTL字符;您可以将阿拉伯语移动到外部文件。我希望实际程序中的大多数阿拉伯语都来自外部输入和本地化文件。