Python使用嵌套循环访问字典实现指定格式键值输出
原代码问题分析
你写的代码存在两层逻辑错误:
- 内层直接遍历
dic.values()获取到的是字典所有值的列表,不是当前遍历键对应的单个食材列表 - 把值列表直接作为索引传入
dic[itm][val],类型不匹配会直接抛出报错
调整后代码
场景1:输出每个分类下所有食材的对应关系
dic = {"Vegetables":["Carrots","Broccoli","Mushrooms"], "fruits":["Apples ","Citrus"]} # 先遍历字典的键值对,category为分类名,foods为对应分类下的食材列表 for category, foods in dic.items(): # 遍历当前分类下的每一个食材 for food in foods: # 去除食材名前后的多余空格 food = food.strip() print(f"{food} are {category}")
运行输出:
Carrots are Vegetables Broccoli are Vegetables Mushrooms are Vegetables Apples are fruits Citrus are fruits
场景2:仅输出每个分类下的第一个食材(和你给出的示例完全一致)
dic = {"Vegetables":["Carrots","Broccoli","Mushrooms"], "fruits":["Apples ","Citrus"]} for category, foods in dic.items(): # 直接取每个分类列表的第一个元素,去除多余空格后打印 food = foods[0].strip() print(f"{food} are {category}")
运行输出:
Carrots are Vegetables Apples are fruits
内容的提问来源于stack exchange,提问作者Jeff B.
相关产品推荐
相关产品推荐

