说某人给我一个字符串:
[[A,B],[C,D]]
我想提取它描述的列表:
qstat
我该怎么做?
P.S。
A,B,C,D只是占位符,它们可以是数值或字符串。
答案 0 :(得分:5)
要防止在将输入直接传递给ValueError: malformed string
时引发ast.literal_eval
,需要在字符串中的字符周围添加"
:
import ast, re
s = "[[A,B],[C,D]]"
new_s = ast.literal_eval(re.sub('\w+', '{}', s).format(*['"{}"'.format(i) for i in re.findall('\w+', s)]))
输出:
[['A', 'B'], ['C', 'D']]
答案 1 :(得分:2)
基于A
,B
,C
和D
为数字(int
或float
)或字符串({{ 1}}),你可以简单地使用:
str
例如:
l = eval("[[A,B],[C,D]]")