我试图剥离一个嵌套的字典(只有1级深,例如:def strip_nested_dict(self, some_dict):
new_dict = {}
for sub_dict_key, sub_dict in some_dict.items():
for key, value in sub_dict.items():
if value:
new_dict[sub_dict_key][key] = value
return new_dict
所有非零和无值。
但是,我不确定是谁正确地重新组装了dict,下面给了我一个关键错误。
TextView
答案 0 :(得分:1)
您需要在访问之前创建嵌套字典:
for sub_dict_key, sub_dict in some_dict.items():
new_dict[sub_dict_key] = {} # Add this line
for key, value in sub_dict.items():
# no changes
(要使new_dict[sub_dict_key][key]
有效,new_dict
必须是字典,而new_dict[sub_dict_key]
也必须是字典。)
答案 1 :(得分:0)
这很有用。遗憾的是,您不能只分配嵌套值,而不必先为每个键创建一个空值。
def strip_nested_dict(self, some_dict):
new_dict = {}
for sub_dict_key, sub_dict in some_dict.items():
new_dict[sub_dict_key] = {}
for key, value in sub_dict.items():
if value:
new_dict[sub_dict_key][key] = value
return new_dict