我想知道您是否知道其他/更好的方法(没有max方法)来获取字典中得分最高的键? :
report_card = {'french' : 14,
'english' : 12,
'math' : 16,
'chemistry' : 19,
'sport' : 14}
max = 0
for subject, score in report_card.items():
if max < report_card[subject]:
max = report_card[subject]
for subject, score in report_card.items():
if max == report_card[subject]:
print(f"The subject with the highest score is {subject} with {score} points")
答案 0 :(得分:0)
稍微简单些,但是请问max函数的存在是有原因的。
report_card = {'french' : 14,
'english' : 12,
'math' : 16,
'chemistry' : 19,
'sport' : 14}
max = 0
max_s = ""
for subject, score in report_card.items():
if max < score:
max = score
max_s = subject
print(f"The subject with the highest score is {max_s} with {max} points")
答案 1 :(得分:0)
尝试一下:
max(report_card.items(), key=lambda x: x[1])[0]
dict.items()将所有值成对返回。 max返回可迭代的最大值。 key关键字允许您传递函数,该函数为每个项目产生值以进行最大比较。 max函数将返回report_card.items()生成的值之一(而不是键函子生成的值),因此您需要[0]才能从中获取键。