我有一个字典,每个人分配了最喜欢的颜色:
fav_colors = {"John": "green", "Bobby": "blue", "PapaSanta": "yellow"}
首先,我只是想确定这是否是在字典中分配值的正确方法!我对python很陌生。
然后我有了这个
def use_favcolors(fav_color):
在这个功能中,我想看看有多少人最喜欢的颜色是绿色。我想创建一个for循环,然后为每个" green"增加1。在fav_color中,但我不太确定如何执行此操作。我还必须创建一个main函数,它使用这个use_favcolors函数并输出" greens"的数量。
有人可以帮忙吗?
提前致谢
*这怎么太宽?我见过其他问题同样的问题?我会使用这些线程,但答案不是我正在寻找的。
答案 0 :(得分:1)
使用sum()
,迭代dict.values()
:
def use_favcolors(fav_color):
return sum(color == fav_color for color in fav_colors.values())
布尔值color == fav_color
会自动转换为0
/ 1
。
答案 1 :(得分:0)
你可以使用dicts .values()
方法。
fav_colors = {"John": "green", "Bobby": "blue", "PapaSanta": "yellow"}
def use_favcolors(fav_color):
count = 0
for colour in fav_colors.values():
if colour == fav_color:
count += 1
return count
print(use_favcolors("green"))
输出:
1
.values()
将返回值的迭代器:
['green', 'blue', 'yellow']
其他有用的方法是.keys()
和.items
.keys()
将在键上返回一个迭代器:
['John', 'Bobby', 'PapaSanta']
.items()
将返回键值对的迭代器:
[('John', 'green'), ('Bobby', 'blue'), ('PapaSanta', 'yellow')]