Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用setdefault为字典设置两个键_Python_Json - Fatal编程技术网

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

Python 如何使用setdefault为字典设置两个键,python,json,Python,Json,我想为json设置两个键,同时维护多个内部键。如何使用setdefault执行此操作 期望输出: { "Key1": {}, "Key2": { "inner key": { "inner inner key": "value" } } } 现行代码 import json d = {} d.setdefault( 'key',{}).setdefault('inner key',{})['inner inner

我想为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"
        }
    }
}
尝试:

尝试:


由于您正在硬编码,我看不出设置默认值的任何原因:

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

由于您正在硬编码,我看不出设置默认值的任何原因:

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

我不确定问题是什么?您的输出似乎与您想要实现的目标相似,还是我错了?添加第二行类似于第一行,但用于另一个键?你为什么要这么做真是令人费解。我正在向服务器发送数据,服务器需要两个键,我正在硬编码键,并在字典中添加数据。@junnythony,我的输出有一个顶级键,而我想要两个。我不确定问题出在哪里?您的输出似乎与您想要实现的目标相似,还是我错了?添加第二行类似于第一行,但用于另一个键?不过,您为什么要这样做确实令人费解。我正在将数据发送到需要两个键的服务器,我正在对键进行硬编码,并将数据添加到字典中。@junnythony,我的输出有一个顶级键,而我想要两个。