如何从列表中的字符串中删除字符?

2024-06-02 04:29:19 发布

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

我正在使用一个名为PyDictionary的模块。每当它得到一个单词的同义词时,它就会创建一个list的同义词,但是当我尝试print这个list时,它在同义词前面有一个'u',例如:

[u'welcome', u'howdy', u'hi', u'greetings', u'bonjour']

我试过:synonym = re.sub('u','',synonym[0]),这很管用,但只打印'welcome',而不是整个list。你知道吗

任何帮助都将不胜感激。 谢谢!你知道吗


Tags: 模块rehi单词listprint同义词welcome
2条回答

如果要将list转换为stringslist,可以使用list理解,如:

result = [str(x) for x in synonym]

您看到的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。你知道吗

相关问题 更多 >