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

2019-02-07  本文已影响0人  Diolog

实际案例:

解决方案:

首先创建随机成绩表:

from random import randint
dict_grade = {x:randint(60,100) for x in 'xyzabc'}

在执行解决方案之前,我们需要了解tuple比较的机制,因为后面使用到了tuple的比较。

(79,'a') > (78,'a')
(77,'a') < (78,'a')
(78,'b') > (78,'a')
(78,'b') < (78,'c')
(79,'b') > (78,'c')

接下来执行解决方案,首先使用zip将dict转化为tuple的列表。

list_result = sorted(zip(dict_grade.values(),dict_grade.keys()))

解决方案2:

sorted(dict_grade.items(),key = lambda x:x[1])

输出结果:

[('a', 71), ('b', 78), ('c', 82), ('x', 88), ('z', 89), ('y', 97)]
上一篇 下一篇

猜你喜欢

热点阅读