删除python词典中的引号

时间:2015-05-06 04:30:36

标签: python python-2.7 dictionary

我得到了一个字典,如下,

{'members': '{"mgt.as.wso2.com": 4100,"as.wso2.com": 4300}', 'subdomain': 'mgt'}

在密钥成员中,值在两个单引号内传递。有没有办法删除这些单引号。我希望字典如下,

{'members': {"mgt.as.wso2.com": 4100,"as.wso2.com": 4300}, 'subdomain': 'mgt'}

2 个答案:

答案 0 :(得分:6)

使用literal_eval评估字符串值,然后将其分配回密钥:

>>> import ast
>>> d['members'] = ast.literal_eval(d['members'])
>>> d['members']['as.wso2.com']
4300

答案 1 :(得分:1)

def evalPostfix(text):
    s = Stack()
    for symbol in text:
        try:
            result = int(symbol)
        except ValueError:
            if symbol not in '+-*/':
                raise ValueError('text must contain only numbers and operators')
            result = eval('%d %s %d' % (s.pop(), symbol, s.pop()))
        s.push(result)
    return s.pop()