【发布时间】:2021-06-29 05:33:12
【问题描述】:
我有一个返回打印字典列表的函数,例如
{'a':['x1,x2,x3'], 'b':['x1,x2], 'c':['x3']}
我怎样才能将它自己初始化为一个字典,然后才能使用那个“新”字典?
【问题讨论】:
标签: python json dictionary
我有一个返回打印字典列表的函数,例如
{'a':['x1,x2,x3'], 'b':['x1,x2], 'c':['x3']}
我怎样才能将它自己初始化为一个字典,然后才能使用那个“新”字典?
【问题讨论】:
标签: python json dictionary
尽可能避免使用eval。如果没有变量,使用ast.literal_eval()
>>> import ast
>>> inp="{'a':['x1,x2,x3'], 'b':['x1,x2'], 'c':['x3']}"
>>> d=ast.literal_eval(inp)
>>> d['a']
['x1,x2,x3']
【讨论】:
如果你的意思是后数据是一个字符串,只需使用eval -
post_data = "{'a':['x1,x2,x3'], 'b':['x1,x2'], 'c':['x3']}"
new_dict = eval(post_data)
另外,可能“更安全”,在将引号固定为双引号后使用json.loads -
import json
post_data = "{'a':['x1,x2,x3'], 'b':['x1,x2'], 'c':['x3']}"
new_dict = json.loads(post_data.replace("'", '"'))
【讨论】: