如何根据相同的值将两个字典嵌套在一起



我有两个字典,我正试图将它们嵌套在一起以组织值。我太失落了!


component_dict = {'11309': ['a','b', 'c'], 
'11525': ['d', 'e'] } 
sku_dict = {'a': 0.0,
'b': 1500.0,
'c': 1000.0,
'd': 0.0,
'e': 5.0" }

我正在尝试嵌套这两个字典,使新字典看起来像这样:


final_dict: {'11309': {'a': 0, 'b': 1500,'c': 1000}, 
'11525: {'d': 0, 'e': 5}}  

非常感谢你的帮助!

使用字典理解:

final_dict = {k: {x: sku_dict[x] for x in v} for k, v in component_dict.items()}
>>> final_dict
{'11309': {'a': 0.0, 'b': 1500.0, 'c': 1000.0}, 
'11525': {'d': 0.0, 'e': 5.0}}

这个有点棘手,python中有一些库,比如集合,可以帮助您更优雅地实现这一点,但我写得更详细一些,以帮助解释。请参阅下面的答案:

merged = {}
for x in component_dict:
merged[x] = {y:sku_dict[y] for y in component_dict[x]}

print(merged)

相关内容

  • 没有找到相关文章

最新更新