我有一个看起来像的字符串。
"[{'P_Key': 'val1', 'Price': '3.95'}, {'P_Key': 'val2', 'Price': '2.2'}, {'P_Key': 'val3', 'Price': '0.4'}]"
我想将其转换为字典列表,如:
[{'P_Key': 'val1', 'Price': '3.95'},
{'P_Key': 'val2', 'Price': '2.2'},
{'P_Key': 'val3', 'Price': '0.4'}]
字符串中可能有任意数量的此类词典。
答案 0 :(得分:5)
这比eval
更安全,因为它只评估有效的python数据类型
s = "[{'P_Key': 'val1', 'Price': '3.95'}, {'P_Key': 'val2', 'Price': '2.2'}, {'P_Key': 'val3', 'Price': '0.4'}]"
import ast
ast.literal_eval(s)
# [{'P_Key': 'val1', 'Price': '3.95'}, {'P_Key': 'val2', 'Price': '2.2'}, {'P_Key': 'val3', 'Price': '0.4'}]
答案 1 :(得分:0)
使用eval
eval("[{'P_Key': 'val1', 'Price': '3.95'}, {'P_Key': 'val2', 'Price': '2.2'}, {'P_Key': 'val3', 'Price': '0.4'}]")