python 中如何将str(dict)后的字典还原?例如:adict={‘name’:['aa','bb'],'age':['11','22']}stra=str(adict)我现在已知的是stra,如何将stra转换成dict格式?换句话说也就是还原它.知道的帮个忙告诉小弟下,感激

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 17:14:09

python 中如何将str(dict)后的字典还原?例如:adict={‘name’:['aa','bb'],'age':['11','22']}stra=str(adict)我现在已知的是stra,如何将stra转换成dict格式?换句话说也就是还原它.知道的帮个忙告诉小弟下,感激
python 中如何将str(dict)后的字典还原?
例如:adict={‘name’:['aa','bb'],'age':['11','22']}
stra=str(adict)
我现在已知的是stra,如何将stra转换成dict格式?换句话说也就是还原它.知道的帮个忙告诉小弟下,感激涕零.

python 中如何将str(dict)后的字典还原?例如:adict={‘name’:['aa','bb'],'age':['11','22']}stra=str(adict)我现在已知的是stra,如何将stra转换成dict格式?换句话说也就是还原它.知道的帮个忙告诉小弟下,感激
试了一下很麻烦
但是你将adict的值在进行str转换之前保存一份不就行了吗
以下代码可以实现:
def dic():
i=0
adict={'name'['aa','bb'],'age'['11','22']}
stra = str(adict)
stra[1:len(stra)-1]
s = stra[1:len(stra)-1]
for key in s:
if key != ":":
i=i+1
else:
ret1 = key[0:i]
if key != "]":
i=i+1
else:
ret2 = key[len(ret1):i]
adict.update([(ret1,ret2)])
adict.pop(":")
print adict

>>> adict={'name':['aa','bb'], 'age':['11','22']}
>>> stra = str(adict)
>>> stra
"{'age': ['11', '22'], 'name': ['aa', 'bb']}"
>>> b = eval(stra)
>>> b
{'age': ['11', '22'], 'name': ['aa', 'bb']}

import simplejson
adict= simplejson.loads(stra)
print adict