我有一本需要转换为嵌套字典的字典。 我需要将键作为键进行传输,列表中的值需要在我的嵌套字典中变成更多带有空值列表的键。
这是我迄今为止创建的代码:
dictionary = {'op': ['Office', 'General'],'r-1' : ['residential', 'industrial']}
nested_dic = {}
nested_two = {}
for key, value in dictionary.items():
print("1-\n",key, value)
nested_dic.setdefault(key, nested_two)
print("2-\n", nested_dic)
print("***************************************************************************************")
for v in value:
nested_two.setdefault(v, [])
print("3\n", nested_two)
print("4-\n", v)
print("\nnested dictionary:", nested_dic)
print("***************************************************************************************")
print(nested_dic)
我得到的输出是这样的:
{'op': {'Office': [], 'General': [], 'residential': [], 'industrial': []}, 'r-1': {'Office': [], 'General': [], 'residential': [], 'industrial': []}}
但我需要它是这样的:
correct_nested_dic = {'op': {'office': [], 'General': []},'r-1': {'industrial':[], 'residential': []}}
我正在复制 for 循环中的值,但我无法修复它。
任何帮助将不胜感激, 谢谢
答案 0 :(得分:0)
找到答案了! 我会发布它以防万一对其他人有用:
dic_2 = {'op': ['Office', 'General'],'r-1' : ['residential', 'industrial']}
nested_dic_2 = {}
for key, value in dic_2.items():
nested_dic_2.setdefault(key, {})
for v in value:
nested_dic_2[key].setdefault(v, [])
print(nested_dic_2)
输出:
nested_dic_2 = {'op': {'Office': [], 'General': []}, 'r-1': {'residential': [], 'industrial': []}}