我有一个具有唯一id的dict和与基数位置对应的键值对嵌套dict:
{'925328413719459770': {'N': 14,
'NNW': 116,
'NW': 38,
'S': 1,
'SE': 2,
'SSE': 1,
'W': 16,
'WNW': 146,
'WSW': 16}}
然而,并非所有嵌套的字典都包含16个可能的基数位置中的每一个:
cp = ["N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE",
"S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW"]
我能够得到字典中的一组基本位置与完整列表之间的差异
cp
for leg in legdict.values():
print(list(set(cp) - set(leg.keys())))
['ESE', 'SSW', 'NNE', 'NE', 'ENE', 'SW', 'E']
那么,如何用缺失的位置更新嵌套字典并将其值设置为0呢?输出如下:
{'925328413719459770': {'N': 14,
'NNW': 116,
'NW': 38,
'S': 1,
'SE': 2,
'SSE': 1,
'W': 16,
'WNW': 146,
'WSW': 16,
'ESE': 0,
'SSW': 0,
'NNE': 0,
'NE': 0,
'ENE':0,
'SW': 0,
'E': 0 }}
在python中,有没有一种有效的方法可以使用
update()
方法,或者可以使用列表来更新dict,同时将该列表的所有元素设置为0吗?实际
legdict
非常大,因此关于有效方法的任何建议都将受到赞赏。