由于阿拉伯语从右侧开始,如果我执行以下操作将会出现错误:
cnt = {}
cnt["پ"] = 5 # right start char
cnt["t"] = 4 # left start char
import operator
sorted(cnt, key=operator.itemgetter(1), reverse=True)
有什么方法可以解决这个问题吗?
答案 0 :(得分:1)
您从sorted
中获得的错误与阿拉伯语无关。您从sorted
中获得的错误是因为您尝试对cnt
进行排序,但您的key
函数的编写方式就像它排序cnt.items()
一样。如果您添加items()
来电,sorted(cnt.items(), key=operator.itemgetter(1), reverse=True)
的行为将相同,无论cnt
的密钥是否使用阿拉伯字符。
至于显示问题,由于阿拉伯语,那些 。将混合的RTL和LTR文本正确显示并不容易,尤其是在源代码等上下文中,您无法在不改变含义的情况下插入格式化字符。我建议不要在源代码中使用RTL字符;您可以将阿拉伯语移动到外部文件。我希望实际程序中的大多数阿拉伯语都来自外部输入和本地化文件。