将字符串值从pickled转换为字典

时间:2015-02-20 06:26:09

标签: python python-2.7 python-3.x dictionary

val = "{t:30, f:50}" 

是一个字符串值,我需要将其转换为字典,而不是使用val.split(',')的传统方法,然后删除括号并取出键并将值绑定到它并在字典中转换它。任何人都可以建议任何更好的方法。即使键(t和s)中的字符串中没有引号,PLz也会关心它。从db获得了一些值。已经尝试了json加载或转储。

2 个答案:

答案 0 :(得分:4)

import re
x="{t:30, f:50}"
y=re.findall(r"([^ {,]*):([^ {,]*)[,}]",x)
print dict(y)

试试这个。简单,一步或两步完成。

答案 1 :(得分:1)

import re
val = "{t:30, f:50}"
t = re.search("[^{].*[^}]",val).group()
print (t)
z = t.split(",")
print (z)
mydict = {}
mydict[z[0][0]]=z[0][2]+z[0][3]
print (mydict)

>>> 
t:30, f:50
['t:30', ' f:50']
{'t': '30'}
>>> 

使用search()模块的re方法