[英]How to nest two dictionaries together based on identical values?
我有两个字典,我试图将它们嵌套在一起以组织值。 我好迷路!
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 中的 collections,您可以使用它来帮助您更优雅地实现这一目标,但我写得更冗长一点以帮助解释。 请参阅下面的答案:
merged = {}
for x in component_dict:
merged[x] = {y:sku_dict[y] for y in component_dict[x]}
print(merged)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.