温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python对字典进行排序的方法有哪些

发布时间:2020-08-21 10:54:01 来源:亿速云 阅读:126 作者:小新 栏目:编程语言

python对字典进行排序的方法有哪些?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!

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}}

需求一:按照字典的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对字典进行排序的方法有哪些大概了解了吗?希望文章内容对大家有所帮助。如果想了解更多相关文章内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI