为什么印刷顺序会被浮点数和阿拉伯字符串的混合搅乱?

2024-10-02 12:33:43 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python3中:

alternates={'Qabr Ḩamdān', 'قبور حمدان', 'Qabr Hamdan', 'Qubur Hamdan', 'Qubūr Ḩamdān', 'qbwr hmdan'}
for x in alternates:
    print(12.1, x, 13.2)

产生以下结果:

12.1 Qabr Ḩamdān 13.2
12.1 قبور حمدان 13.2
12.1 Qabr Hamdan 13.2
12.1 Qubur Hamdan 13.2
12.1 Qubūr Ḩamdān 13.2
12.1 qbwr hmdan 13.2

请注意,第二行中的阿拉伯字符串是无序的。为什么?你知道吗


Tags: 字符串inforpython3无序printamdqub
1条回答
网友
1楼 · 发布于 2024-10-02 12:33:43

这很正常。阿拉伯语是用Unicode编码的。你知道吗

阿拉伯语是从右到左写的,当说阿拉伯语的人输入文本时,他们会期望阿拉伯语从右到左。。。但是他们会期望像13.2这样的数字以从左到右的块的形式出现,嵌入到整个从右到左的布局中。Unicode双向算法尽力满足这一期望。细节非常复杂,在Unicode Standard Annex #9中列出。你知道吗

相关问题 更多 >

    热门问题