本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。
python如何对字典排序?
对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我们用的真实的字典一样,按照abcd字母的顺序排列,并且本质上各自没有先后关系,是一个哈希表的结构。
但实际应用中我们确实有这种排序的“需求”-----按照values的值“排序”输出,或者按照别的奇怪的顺序进行输出,我们只需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两位子list或者子tuple再输出,就可以达到我们的目的:
举例如下:
1 2 3 4 | 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函数
1 2 | 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这种嵌套类型的字典进行排序:
1 | sorted(d.items(),key=lambda x:x[1][ 'price' ])
|
方法二:使用oprator内建模块
1 2 | import operator
sorted(d1.items(),key = operator.itemgetter(1))
|
此模块目前实验对于d3这种数据结构尚未成功。
以上就是python如何对字典进行排序的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python中如何创建一个空字典
怎么看Python有没有安装pip
Python中eval的用法是什么
Python lambda怎么用
Python数据怎么处理numpy.median
Python和selenium实现163邮箱自动登陆
Python中关于range与xrange探究详解
Python中日期和时间格式化输出的方法小结_Python
Python如何实现一个登陆验证(文件验证)
Python操作sqlite数据库与文件操作的实例详解
更多相关阅读请进入《Python》频道 >>
人民邮电出版社
python入门书籍,非常畅销,超高好评,python官方公认好书。
转载请注明出处:木庄网络博客 » python如何对字典进行排序