繁体   English   中英

在Python中用字符串创建dict

[英]Create dict from string in Python

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

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

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

使用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'

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

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'}

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM