我有一系列对(名称,分数),具有重复的名称。我想获得每个名字的最高分。名称标签本身对于最终结果是可选的。这是一个有效的实现:
from collections import defaultdict
scores = (('eyal', 76), ('alex', 50), ('oded', 90), ('eyal', 100), ('alex', 99))
distinct = defaultdict(set)
for score in scores:
distinct[score[0]].add(score[1])
max_scores = [max(distinct[k]) for k in distinct]
print (max_scores)
我想知道,这可以使用字典理解一步完成吗?