用零替换嵌套字典列表中的值
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]))
如果嵌套字典列表的长度不等于最大长度,是否有任何方法可以将嵌套字典列表中的值替换为任何 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]))