alice_ratings = {"alonzo": 1, "bob": 3, "turing" : 2}
bob_ratings = {"alice": 1, "alonzo": 2, "turing": 3}
alonzo_ratings = {"alice": 3, "bob": 2, "turing": 1}
turing_ratings = {"alice": 2, "alonzo": 1, "bob": 3}
给出了相应的学生偏好字典,我想编写一个函数来返回平均得分最低的学生,我该怎么做。范例:alonzo的整体评分为4,我该怎么做?有人可以帮我这个忙吗?
IIUC,用途:
def lowest(*args):
ratings = {}
for d in args:
for k, v in d.items():
if k in ratings:
ratings[k] += v
else:
ratings[k] = v
return min(ratings, key=lambda k: ratings[k])
要么,
from collections import defaultdict
def lowest(*args):
ratings = defaultdict(int)
for d in args:
for k, v in d.items():
ratings[k] += v
return min(ratings, key=lambda k: ratings[k])
调用函数:
print(lowest(alice_ratings, bob_ratings, alonzo_ratings, turing_ratings))
打印:
alonzo
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句