在Python中用字符串创建dict

时间:2018-02-16 14:10:05

标签: python string dictionary

在我的Python程序中,我有一串格式:

'name': 'Salman','age': '25', 'access': 'R', 'id': '00125'

我想将其转换为dict类型,以便我可以像dict["name"]一样查询以打印"Salman"

3 个答案:

答案 0 :(得分:9)

使用ast.literal_eval

import ast

mystr = "'name': 'Salman','age': '25', 'access': 'R', 'id': '00125'"

d = ast.literal_eval('{'+mystr+'}')

# {'access': 'R', 'age': '25', 'id': '00125', 'name': 'Salman'}

d['access']  # 'R'

答案 1 :(得分:2)

我认为这是一个使用理解的简洁解决方案

s = "'name': 'Salman','age': '25', 'access': 'R', 'id': '00125'"
d = dict([i.strip().replace("'", "") for i in kv.split(':')] for kv in s.split(","))
# d == {'access': 'R', 'age': '25', 'id': '00125', 'name': 'Salman'}

答案 2 :(得分:0)

首先按“:”和“,”拆分字符串,然后将其存储在列表中。 然后从0迭代到len(列表)-2:mydict [list [i]] = list [i + 1]