literal_eval returns 给定不带引号的字符串的格式错误的字符串
literal_eval returns malformed string given a string without quote
我尝试使用 literal_eval 转换包含两个列表的字符串,如下所示。
from ast import literal_eval
literal_eval('[[ba], [38]]')
但是我得到了这个错误
raise ValueError('malformed string')
难道是因为'ba'没有转成字符串?我该如何解决这个问题?
这是因为这不是一组有效的 Python 文字,您要求它评估。字符串需要加引号,像这样:
from ast import literal_eval
literal_eval('[["ba"], [38]]')
那么你会得到正确的结果:
[['ba'], [38]]
我尝试使用 literal_eval 转换包含两个列表的字符串,如下所示。
from ast import literal_eval
literal_eval('[[ba], [38]]')
但是我得到了这个错误
raise ValueError('malformed string')
难道是因为'ba'没有转成字符串?我该如何解决这个问题?
这是因为这不是一组有效的 Python 文字,您要求它评估。字符串需要加引号,像这样:
from ast import literal_eval
literal_eval('[["ba"], [38]]')
那么你会得到正确的结果:
[['ba'], [38]]