在嵌套字典中添加透视图值



我正在尝试添加两个不同的字典集(相同的键,不同的值)

mcdonalds_sausage_mcgriddle ={'卡路里':550,'脂肪':33,'碳水化合物':44,'蛋白质':19}Fairlife_choc_milk ={'卡路里':140,'脂肪':5,'碳水化合物':13,'蛋白质':13}

bkfast = int(float(mcdonalds_sausage_mcgriddle)) + int(float(fairlife_choc_milk))

打印(bkfast)

TypeError:不支持+:'dict'和'dict'的操作数类型

这是我想要的输出:{"卡路里":690年,"脂肪":38岁的"碳水化合物":57岁的"蛋白质":32}

使用推导式构建新字典:

>>> mcdonalds_sausage_mcgriddle = {'calories': 550, 'fat': 33, 'carbs': 44, 'protein': 19}
>>> fairlife_choc_milk = {'calories': 140, 'fat': 5, 'carbs': 13, 'protein': 13}
>>> {k: v + fairlife_choc_milk[k] for k, v in mcdonalds_sausage_mcgriddle.items()}
{'calories': 690, 'fat': 38, 'carbs': 57, 'protein': 32}

如果您有任意数量的字典,更好的方法是遍历字典列表并将总数累加到新字典中:

>>> from collections import defaultdict
>>> breakfast = defaultdict(int)
>>> for food in [mcdonalds_sausage_mcgriddle, fairlife_choc_milk]:
...     for k, v in food.items():
...         breakfast[k] += v
... 
>>> breakfast
defaultdict(<class 'int'>, {'calories': 690, 'fat': 38, 'carbs': 57, 'protein': 32})

最新更新