将字符串转换为python列表和字典?

时间:2017-10-24 09:38:57

标签: python string list dictionary

我有一个看起来像的字符串。

"[{'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'}]

字符串中可能有任意数量的此类词典。

2 个答案:

答案 0 :(得分:5)

使用ast.literal_eval

这比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'}]")