我正在尝试添加两个不同的字典集(相同的键,不同的值)
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})