用零替换嵌套字典列表中的值

Replace the values within lists of nested dictionaries with zero

如果嵌套字典列表的长度不等于最大长度,是否有任何方法可以将嵌套字典列表中的值替换为任何 0.0 值? 输入字典是

 dict1= {'canada': {'america': [1.8],
'asia': [1.75, 1.4, 2.56],
'europe': [1.86, 1.5, 1.6],
'florida': [1.3,1.2,1],
'africa': [1.27],
'brazil': [1.26]},
'norway': {'australia': [1.23, 1.27],
'africa': [1.24, 1.8, 1.8],
'brazil': [1.25, 1.9, 1.9],
'california': [1.7]}}

预期输出字典为:

output_dict= {'canada': {'america': [1.8,0.0,0.0],
 'asia': [1.75, 1.4, 2.56],
 'europe': [1.86, 1.5, 1.6],
 'florida': [1.3,1.2,1],
 'africa': [1.27,0.0,0.0],
 'brazil': [1.26,0.0,0.0]},
 'norway': {'australia': [1.23, 1.27,0.0],
 'africa': [1.24, 1.8, 1.8],
 'brazil': [1.25, 1.9, 1.9],
 'california': [1.7,0.0,0.0]}} 

只要嵌套字典的结构保持不变,这应该可以完成工作:

max_length = 3

for d in dict1.values():
    for k in d.keys():
        d[k] += [0.0] * (max_length - len(d[k]))