根据字典值的大小,对字典中的项目排序

方案(一)
思路:将字典的元素转换成元组,用元组的默认排序方式比较
>>> from random import randint
>>> d = {x:randint(60,100) for x in 'abcdef'}
>>> d
{'a': 69, 'c': 76, 'b': 69, 'e': 88, 'd': 87, 'f': 83}
>>> zip(d.itervalues(),d.iterkeys())
[(69, 'a'), (76, 'c'), (69, 'b'), (88, 'e'), (87, 'd'), (83, 'f')]
>>> sorted(zip(d.itervalues(),d.iterkeys()))
[(69, 'a'), (69, 'b'), (76, 'c'), (83, 'f'), (87, 'd'), (88, 'e')]
 
 
方案(二)
思路:将字典的元素转换成元,设置sorted的比较键值
>>> d.items()
[('a', 69), ('c', 76), ('b', 69), ('e', 88), ('d', 87), ('f', 83)]
 
>>> sorted(d.iteritems(),key=lambda x:x[1])
[('a', 69), ('b', 69), ('c', 76), ('f', 83), ('d', 87), ('e', 88)]
posted @ 2020-09-23 12:40  Edward_han  阅读(105)  评论(0编辑  收藏  举报