从字符串字符中删除前缀u

时间:2015-02-10 21:44:31

标签: python string list

这是我正在尝试检索电影类型的部分代码。

genres = tr.find('span', 'genre').find_all('a')
genres = [g.contents[0] for g in genres]
print genres

[u'Animation']
[u'Comedy']
[u'Comedy', u'Romance']

我想删除那些你的前缀。

期望的输出:

['Animation']
['Comedy']
['Comedy', 'Romance']

3 个答案:

答案 0 :(得分:2)

u表示这些字符串被编码为unicode。

如果你想删除它,你可以这样做:

genres = [str(g.contents[0]) for g in genres]

备注:

  • 仅当字符串中的所有字符都是ascii字符时才会起作用。
  • 正如其他人评论的那样,u不是字符串的一部分,它只是表明它的编码,所以没有理由删除它。

答案 1 :(得分:2)

无需从字符串中实际删除unicode,但如果您仍在设置中,则可以使用map()或列表推导。

map(str, [u'Comedy', u'Romance'])
>> ['Comedy', 'Romance']

或列表comp

l = [str(x) for x in ['Comedy', 'Romance']]

答案 2 :(得分:1)

字符串中的前缀u表示Unicode

>>> unicode("abc")
u'abc'

无需删除