您将如何打印此列表
cat1 = {"sam":[4,9,7], "jeff":[3,3,6], "ben":[9,8,6]}
按字母顺序排列,每个人的人数最多,每个人的最高人数按降序排列,每个人的平均分数是否按降序排列? 我已经研究过使用class1.values()但是这只打印了我从这里开始排序的所有值吗?
答案 0 :(得分:0)
假设我理解你的问题,应该这样做:
for person in sorted(cat1):
print(person, max(cat1.get(person)))
结果:
ben 9
jeff 6
sam 9
然后:
for person in sorted(cat1, key=lambda x: max(cat1.get(x)), reverse=True):
print(person, max(cat1.get(person)))
结果:
ben 9
sam 9
jeff 6
然后:
for person in sorted(cat1, key=lambda x: sum(cat1.get(x))/len(cat1.get(x)), reverse=True):
print(person, sum(cat1.get(person))/len(cat1.get(person)))
结果:
ben 7.666666666666667
sam 6.666666666666667
jeff 4.0