这篇文章主要介绍了python如何按照字典的值的大小进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
如何按照字典的值的大小进行排序
我们知道,字典的本质是哈希表,本身是无法排序的,但 Python 3.6 之后,字典是可以按照插入的顺序进行遍历的,这就是有序字典,其中的原理,可以阅读为什么 Python3.6 之后字典是有序的。
知道了这一点,就好办了,先把字典的键值对列表排序,然后重新插入新的字典,这样新字典就可以按照值的大小进行遍历输出。代码如下:
>>> xs = {'a': 4, 'b': 3, 'c': 2, 'd': 1} >>> for k,v in xs.items():#遍历字典 ... print(k,v) ... a 4 b 3 c 2 d 1 >>> new_order = sorted(xs.items(), key=lambda x: x[1]) #对字典的键值对列表排序 >>> new_xs = { k : v for k,v in new_order} #有序列表插入新的字典 >>> new_xs {'d': 1, 'c': 2, 'b': 3, 'a': 4} >>> for k,v in new_xs.items(): ##新字典的输出就是有序的 ... print(k,v) ... d 1 c 2 b 3 a 4
对列表的排序,你还可以使用如下方法:
>>> import operator >>> sorted(xs.items(), key=operator.itemgetter(1)) [('d', 1), ('c', 2), ('b', 3), ('a', 4)]
感谢你能够认真阅读完这篇文章,希望小编分享的“python如何按照字典的值的大小进行排序”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!