python 这道题的多种解法?

编写程序,使用嵌套字典描述表中内容之间的映射关系,输出字典中每种颜色的事物数目,如紫色的食物有三个。

 

在这里插入图片描述

>>> data = {
	'蔬菜':{'青菜':'绿色','胡萝卜':'橙色','茄子':'紫色','毛豆':'绿色'},
	'水果':{'山竹':'紫色','香蕉':'黄色','橘子':'橙色','草莓':'红色'},
	'饮料':{'椰子汁':'白色','西瓜汁':'红色','玉米汁':'黄色','葡萄汁':'紫色'}
}
>>> colors = dict()
>>> for categroy in data:
	for name in data[categroy]:
		color = data[categroy][name]
		colors[color] = colors.get(color, 0) + 1

		
>>> colors
{'绿色': 2, '橙色': 2, '紫色': 3, '黄色': 2, '红色': 2, '白色': 1}

 

 第一种

foods = {'vegetable':{'青菜':'绿色','胡萝卜':'橙色','茄子':'紫色','毛豆':'绿色'},'fruits':{'山竹菜':'紫色','香蕉':'黄色','橘子':'橙色','草莓':'红色'},'drinks':{'椰子汁':'白色','西瓜汁':'红色','玉米汁':'黄色','葡萄汁':'紫色'}}
counts = 0
color = '紫色'
for i in foods.values():
    for j in i.values():
        if color in j:
            counts += 1
print(counts)

第二种

foods = {'vegetable':{'青菜':'绿色','胡萝卜':'橙色','茄子':'紫色','毛豆':'绿色'},'fruits':{'山竹菜':'紫色','香蕉':'黄色','橘子':'橙色','草莓':'红色'},'drinks':{'椰子汁':'白色','西瓜汁':'红色','玉米汁':'黄色','葡萄汁':'紫色'}}
counts = 0
color = '紫色'
for i in foods.keys():
    for j in foods[i].keys():
        if color==foods[i][j]:
            counts += 1
print(counts)

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

我想要,各种颜色的集合