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,我該怎么做才能有人幫我解決這個問題
1 回答

四季花海
TA貢獻1811條經驗 獲得超5個贊
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))
這打?。?/p>
alonzo
添加回答
舉報
0/150
提交
取消