Python如何计算字典中指定多个键对应的数值总和
Python 字典指定键求和实现方案
现有代码问题
你当前编写的food_calories_sum函数存在两个核心问题:
- 没有定义入参接收需要查询的指定食物名称列表
- 遍历字典时第一次循环就直接返回键名,没有做任何数值累加逻辑,完全不符合求和需求
正确实现代码
带容错提示版本
适合无法确认指定食物是否全部在字典内的场景,遇到未收录的食物会自动跳过并给出提示:
food_calories = {"Burger": 400, "Ice Cream": 350, "Cake": 640, "Chicken": 400, "Rice": 250, "Salad": 40, "Fanta": 170, "Coke": 200, "Beef": 350} def food_calories_sum(calorie_dict, target_foods): total_calories = 0 for food in target_foods: if food in calorie_dict: total_calories += calorie_dict[food] else: print(f"提示:{food} 未收录在卡路里字典中,已跳过计算") return total_calories # 测试用例 target = ["Ice Cream", "Chicken", "Beef"] print(food_calories_sum(food_calories, target)) # 输出 1100
简洁版本
确认所有指定食物都在字典内时可直接使用,代码更精简:
def food_calories_sum(calorie_dict, target_foods): return sum(calorie_dict[food] for food in target_foods)
内容的提问来源于stack exchange,提问作者Helene
相关产品推荐
相关产品推荐

