如何遍历嵌套字典提取各产品食材数值并逐个打印?
提取并打印产品食材数值的正确方法
你的原代码存在逻辑问题:循环遍历的是MENU的键(也就是product_1、product_2),但每次都固定输出product_2的整个食材字典,所以会重复打印两次完整的字典内容,而非单个数值。
以下是两种符合需求的实现方式:
1. 打印所有产品的食材数值
如果需要输出全部产品的每个食材数值,用这段代码:
# 遍历MENU里的每个产品详情 for product_details in MENU.values(): # 遍历当前产品的所有食材数值 for value in product_details["ingredients"].values(): print(value)
执行后输出:
50 18 200 150 24
2. 仅打印指定产品的食材数值
如果只需要输出product_2的单个食材数值,用这段代码:
# 获取product_2的食材字典 product_2_ingredients = MENU["product_2"]["ingredients"] # 逐个打印食材数值 for value in product_2_ingredients.values(): print(value)
执行后输出:
200 150 24
额外扩展
如果需要同时获取食材名称和对应数值,可以用.items()方法遍历键值对:
for ing_name, ing_value in MENU["product_2"]["ingredients"].items(): print(f"{ing_name}: {ing_value}")
执行后输出:
ingredient_1: 200 ingredient_2: 150 ingredient_3: 24
内容的提问来源于stack exchange,提问作者Genkuru
相关产品推荐
相关产品推荐

