我正在使用名为PyDictionary
的模块。每当它获得单词的同义词时,它会创建list
个同义词,但是当我尝试print
list
时,它在同义词之前有一个'u'
,例如:
[u'welcome', u'howdy', u'hi', u'greetings', u'bonjour']
我已经尝试过:synonym = re.sub('u','',synonym[0])
,这样做有效,但只打印'welcome'
,而不是整个list
。
非常感谢任何帮助。 谢谢!
答案 0 :(得分:0)
如果您想将list
转换为list
strings
,您可以使用list
这样的理解:
result = [str(x) for x in synonym]
答案 1 :(得分:0)
您看到的u
不是字符串内容的一部分,因此无法使用正则表达式替换删除。相反,它应被视为 开场报价的一部分 。 Python语言本身的语法允许使用以这种方式变形的引号来定义字符串文字。例如:
a = 'spam'
b = u'spam' # in Python 2, a and b are different types
当您以程序员的方式显示变量时,即以引号字符可见的方式显示(例如,只需在提示符下键入synonym[0]
,或尝试print
整个列表synonym
,或者在字符串上调用Python的repr()
机制,然后u
也将可见。相比之下,当你像用户那样显示变量时(例如使用print synonym[0]
,或join
列表,然后print
结果然后,就像你不希望看到引号字符本身一样,你也看不到u
。