为什么这些点在python中不相等?



我正在研究文本,并从输入文本的左点和从键盘输入的右点。然而,在Python中,它们并没有被同等对待。

'․' == '.'
Out[870]: False

可能的原因是什么,我如何使用键盘重新创建左点?

左边的点是而不是一个句号:它是一个以一个点为首的Unicode字符。

在Python中,您可以使用"u2024":

打印它。
print('u2024')

这个输出:

也可以用于比较。

print('․' == 'u2024')

它将输出

True

在这种情况下,我建议使用str.maketrans:

trans_table = str.maketrans({'․': '.'})
print(trans_table)
# prints `False`
print('․' == '.')
# now prints `True`
print('․'.translate(trans_table) == '.')
# or:
#   '․'.replace('․', '.') == '.'

基本上,从机器的角度来看,我们所感知到的字符的视觉表现没有任何意义。

Python比较这两个值的unicode值,它们明显不同。

左边的点是"u2024",而右边的点是" u20e& quot;

相关内容

  • 没有找到相关文章

最新更新