如何根据字典中值的大小,对字典中的项进行排序

实际案例:
某班英语成绩以字典形式存储为:{'lily':80,'lucy':85,'lilei':96,....}
根据成绩高低,计算学生排名

解决方案:使用内置函数sorted
1.利用zip将字典转化为元组
2.利用sorted函数的key参数

# 元组的比较,从第一个元素开始
# print((97,'a') > (69,'b'))    # True
# print((97,'a') > (97,'b'))    # False
from random import randint

data = {x:randint(60,100) for x in "abcdef"} # 构造随机成绩字典

# 方式一
print(sorted(zip(data.values(),data.keys()))) # 利用元组的比较


# 方式二
print(sorted(data.items(),key=lambda x:x[1])) # 利用key参数


推荐阅读更多精彩内容