Python \u200c而不是实半空间

Python \u200c而不是实半空间,python,Python,我正在用python抓取一些HTML页面。某些空格中的文本具有半空格字符(\u200c)。当我在变量中使用文本时,一切都正常。问题是,当我将文本添加到列表中时,它会显示“\u200c”,而不是实际的半空间。问题出在哪里?我猜您使用的是python 2.7。开始使用Python3,这些问题就会消失。Python2.7需要以这种方式表示unicode字符,才能知道它们是unicode字符。而Python3将所有字符串处理为unicode字符,因此您不必太担心它 它将显示'\u200c',因为它是\u

我正在用python抓取一些HTML页面。某些空格中的文本具有半空格字符(\u200c)。当我在变量中使用文本时,一切都正常。问题是,当我将文本添加到列表中时,它会显示“\u200c”,而不是实际的半空间。问题出在哪里?

我猜您使用的是python 2.7。开始使用Python3,这些问题就会消失。Python2.7需要以这种方式表示unicode字符,才能知道它们是unicode字符。而Python3将所有字符串处理为unicode字符,因此您不必太担心它

它将显示
'\u200c'
,因为它是
\uuu repr\uu
方法提供给您的。但是,尝试使用
print()
打印它,你应该会得到你想要的,因为
print()
使用
\uuu str\uuuu
魔术方法。

我不知道“半空间”是什么,但是
'\u200c'
是一个普通unicode字符(不同的表示形式),与
0x1
类似,也是
1
的不同表示形式。所以我认为您的问题可能根本不是问题,但是如果没有看到任何代码,很难说。请看这里:为什么将其称为“半空间”?
\u200c
字符是零宽度的非JOINER。基于波斯维基百科。谢谢,但我使用的是python 3.4。@keramat如果值存储在第I个索引中,打印(您的_列表[I])会给出什么?它会真正打印@keramat那么问题出在哪里呢?谢谢,我试着打印所有的列表而不是元素,它可以工作,但是打印所有的列表并不能真正工作。@keramat打印列表不会在其元素上调用str,如果你想这样做,你就必须创建一个自定义的list类,它的自定义行为完全符合你的要求。但是如果对开发者的表示不是一个严肃的问题,我认为你不想这么做。一天结束时,如果使用print(),最终用户将看到半个空格。