类别:Python / 日期:2019-12-02 / 浏览:100 / 评论:0

python怎样对字典排序?

对字典举行排序?这现实上是一个伪命题,搞清楚python字典的定义---字典自身默许以key的字符递次输出显现---就像我们用的实在的字典一样,根据abcd字母的递次排列,而且本质上各自没有前后关联,是一个哈希表的构造。

但现实运用中我们确切有这类排序的“需求”-----根据values的值“排序”输出,或许根据别的新鲜的递次举行输出,我们只需要把字典转化成list或许tuple,把字典每一对键值转化为list中的两位子list或许子tuple再输出,就能够到达我们的目标:

举例以下:

d1 = {'a':1,'c':4,'b':2,'d':3}
d2 = {2:1,3:4,4:2,1:5,5:3}
d3 = {'01': {'name': '电脑', 'price': 3000}, '02': {'name': '鼠标', 'price': 50}, '03': {'name': '洗发水',
'price': 30}, '04': {'name': '微波炉', 'price': 998}, '05': {'name': '手机', 'price': 1500}}

相干引荐:《Python视频教程》

需求一:根据字典的key/value举行排序输出

要领一:运用sorted函数

sorted(d1.items(),key = lambda x:x[0],reverse = True)  # reverse = True:是递减递次输出,不写默许是升序输出
key = lambda x:x[0]示意在d1.items()的输出内容中的第一列作为排序根据,如果是根据value排序则改成x[1]即可。

d1/d2字典比较简单,都好明白,下面来看看怎样对d3这类嵌套范例的字典举行排序:

sorted(d.items(),key=lambda x:x[1]['price'])

要领二:运用oprator内建模块

import operator
sorted(d1.items(),key = operator.itemgetter(1))

此模块现在试验关于d3这类数据构造还没有胜利。

以上就是python怎样对字典举行排序的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章

评论区

发表评论 / 取消回复

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。