如何根据字典中值的大小,对字典中的项排序
python备忘
某班英语成绩以字典形式存储为:{'LiLei':79,'Jim':88,'Lucy':92...},根据成绩高低,计算学生排名。
使用内置函数sorted进行排序,我们可以利用zip将字典数据转化元组,然后传递sorted函数的key参数
from random import randint d = {x:randint(60,100) for x in 'xyzabc'}
如果我们直接对它进行sorted排序,发现它是按照键名进行排序的,我们希望它对键值进行排序。
这样我们就完成了排序,
sorted(d.items(),key=lambda x:x[1])
我们也可以把这个字典进行转换,使用zip将字典重新转化成一个全新的元组
data = zip(d.itervalues(),d.iterkeys()) result = sorted(zip)