2 回答

TA贡献1808条经验 获得超4个赞
你只需要先声明结构,然后你就可以使用它
my_list = list()
my_dict = dict()
my_list.append(my_dict)
my_list[0]['KEY'] = dict()
my_list[0]['KEY']['NESTED KEY'] = dict()
my_list[0]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE'
print(my_list)
输出:
[{'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE'}}}]
之后,如果您需要向数组添加更多对象,您可以这样做。
my_list = list()
my_dict1 = dict()
my_dict2 = dict()
my_list.append(my_dict1)
my_list.append(my_dict2)
my_list[0]['KEY'] = dict()
my_list[0]['KEY']['NESTED KEY'] = dict()
my_list[0]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE1'
my_list[1]['KEY'] = dict()
my_list[1]['KEY']['NESTED KEY'] = dict()
my_list[1]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE2'
print(my_list)
输出
[
{'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE1'}}},
{'KEY': {'NESTED KEY': {'DOUBLE NESTED KEY': 'VALUE2'}}}
]

TA贡献1827条经验 获得超9个赞
您也可以创造性地使用defaultdict. 这很短,将根据需要创建字典。
from collections import defaultdict
nested_dict = lambda: defaultdict(nested_dict)
nest = nested_dict()
nest[0]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE'
nest[1]['KEY']['NESTED KEY']['DOUBLE NESTED KEY'] = 'VALUE'
然后,如果您通过以下方式打印它:
import json
print(json.dumps(nest, indent=4))
输出:
{
"0": {
"KEY": {
"NESTED KEY": {
"DOUBLE NESTED KEY": "VALUE"
}
}
},
"1": {
"KEY": {
"NESTED KEY": {
"DOUBLE NESTED KEY": "VALUE"
}
}
}
}
免责声明:defaultdict如果找不到,A将创建一个条目。在某些情况下,这可能对您不利。例如,如果我这样做:
bad_nest = nested_dict()
print(bad_nest[2]) # This will output {}, but will also add {2: {}} to the dict
添加回答
举报