有没有办法在不使用Python中的list
或eval()
的情况下将包含unicode字符串的列表转换为正确的ast.literal_eval()
?
例如:
"[u'hello', u'hi']"
到
['hello', 'hi']
答案 0 :(得分:0)
这可能是你想要的吗?
a = "[u'hello', u'hi']".translate(None, "[]u'' ")
a = a.split(',')
print(a) #['hello', 'hi']
如果您在字符串中有'u'
,则可能会失败,因此您可以使用:
a = "[u'hello', u'hi', u'uyou']".translate(None, "[]' ")
a = [item[1:] for item in a.split(',')]
答案 1 :(得分:0)
这取决于输入的格式:
u
,'
,
之前总是没有空格,但是之后总是没有空格。[
和]
您可以简单地剥离左[u'
和右']
(为方便起见,我只是将其从第四个元素切割到第二个到最后一个元素),然后在', u'
处拆分你做完了:
>>> s = "[u'hello', u'hi']"
>>> s[3:-2].split("', u'")
['hello', 'hi']