literal_eval返回格式错误的字符串给定一个没有引号的字符串

问题描述 投票:0回答:1

我尝试使用literal_eval转换包含两个列表的字符串,如下所示。

from ast import literal_eval
literal_eval('[[ba], [38]]')

但是我收到了这个错误

raise ValueError('malformed string')

是因为'ba'没有转换成字符串吗?我怎样才能解决这个问题?

python python-2.7 eval literals
1个回答
0
投票

这是因为这不是一个有效的Python文字集合,你要求它进行评估。需要引用字符串,如下所示:

from ast import literal_eval
literal_eval('[["ba"], [38]]')

然后你会得到正确的结果:

[['ba'], [38]]
© www.soinside.com 2019 - 2024. All rights reserved.