Python嵌套字典取值问题:无法获取MENU字典中的cost值
你的问题出在循环逻辑上:当你执行for item in MENU时,item是MENU的键(即咖啡名称字符串,比如"espresso"),而非键对应的子字典。嵌套循环for item2,cost in item实际是在遍历字符串的每个字符,自然无法拿到正确的cost值。
以下是两种正确的实现方式:
方法1:通过键直接访问子字典
for coffee_name in MENU: # 用键获取对应的子字典,再提取cost值 cost = MENU[coffee_name]["cost"] print(f" {coffee_name} {cost} ")
方法2:使用items()方法同时获取键和值
这种方式更直观,直接遍历字典的键值对:
for coffee_name, coffee_details in MENU.items(): # coffee_details就是每个咖啡对应的子字典,直接取cost cost = coffee_details["cost"] print(f" {coffee_name} {cost} ")
两种方法都能输出:
espresso 1.5 latte 2.5 cappuccino 3.0
内容的提问来源于stack exchange,提问作者TPAL
相关产品推荐
相关产品推荐

