如何使用setdefault为字典设置两个键

时间:2015-06-05 00:07:57

标签: python json

我想在保持多个内部键的同时为json设置两个键。如何使用setdefault执行此操作?

期望的输出:

{
    "Key1": {},
    "Key2": {
        "inner key": {
            "inner inner key": "value"
        }
    }
}

当前代码

import json
d = {}
d.setdefault( 'key',{}).setdefault('inner key',{})['inner inner key'] = 'value'



print json.dumps(d, sort_keys=True, indent=4)

输出:

{
    "key": {
        "inner key": {
            "inner inner key": "value"
        }
    }
}

2 个答案:

答案 0 :(得分:3)

尝试:

import json
d = {}
d.setdefault( 'key1',{})
d.setdefault( 'key2',{}).setdefault('inner key',{})['inner inner key'] = 'value'


print json.dumps(d, sort_keys=True, indent=4)

答案 1 :(得分:0)

因为你无论如何都要对它进行硬编码,而且我没有看到任何setdefault的原因:

d = {'Key1': {}, 'Key2': {'inner key': {'inner inner key': 'value'}}}