python 使用值来排序一个字典的方法


Posted in Python onNovember 16, 2018

下面先看下python 使用值排序字典的方法

In [8]: a={'x':11,'y':22,'c':4}
In [9]: import operator
In [10]: sorted(a.items(),key=operator.itemgetter(1))
Out[10]: [('c', 4), ('x', 11), ('y', 22)]
In [11]: a={'x':11,'y':22,'c':4}
In [12]: sorted(a.items(),key=lambda x:x[1])
Out[12]: [('c', 4), ('x', 11), ('y', 22)]

sort 方法会就地排序列表,不会把原列表复制一份

sorted 会新建一个列表作为返回值,接受任何形式的可迭代对象作为参数

sorted 和 sort的可选参数:

reverse  默认为False,如果设置为True则降序排列

      key 这个是一个只有一个参数的函数,会应用到序列中的每一个元素上,如果key=len,就会按照字符串的长度排序

补充:下面看下Python字典按值排序的方法

法1: (默认升序排序,加  reverse = True 指定为降序排序)

# sorted的结果是一个list
  dic1SortList = sorted( dic1.items(),key = lambda x:x[1],reverse = True)

法2:

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

法3:包含字典dict的列表list的排序方法与dict的排序类似,如下: 

x = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}] 
sorted_x = sorted(x, key=operator.itemgetter('name')) 
print sorted_x 
#[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}] 
sorted_x = sorted(x, key=operator.itemgetter('name'), reverse=True) 
print sorted_x 
#[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}] 
sorted_x = sorted(x, key=lambda x : x['name']) 
print sorted_x 
#[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}] 
sorted_x = sorted(x, key=lambda x : x['name'], reverse=True) 
print sorted_x 
#[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}]

总结

以上所述是小编给大家介绍的python 使用值来排序一个字典的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python代理抓取并验证使用多线程实现
May 03 Python
采用python实现简单QQ单用户机器人的方法
Jul 03 Python
python从入门到精通(DAY 3)
Dec 20 Python
详解Python中的变量及其命名和打印
Mar 11 Python
基于Python __dict__与dir()的区别详解
Oct 30 Python
Python实现的生成格雷码功能示例
Jan 24 Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 Python
python机器学习之KNN分类算法
Aug 29 Python
对web.py设置favicon.ico的方法详解
Dec 04 Python
pytorch permute维度转换方法
Dec 14 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
python中的decimal类型转换实例详解
Jun 26 Python
pandas通过索引进行排序的示例
Nov 16 #Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 #Python
对Pandas MultiIndex(多重索引)详解
Nov 16 #Python
一百行python代码将图片转成字符画
Feb 19 #Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 #Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 #Python
pandas 透视表中文字段排序方法
Nov 16 #Python
You might like
php文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
Laravel 前端资源配置教程
2019/10/18 PHP
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
js去除浏览器默认底图的方法
2015/06/08 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
vue之nextTick全面解析
2017/05/17 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
详解如何用webpack4从零开始构建react开发环境
2019/01/27 Javascript
vue轻量级框架无法获取到vue对象解决方法
2019/05/12 Javascript
javascript自定义右键菜单插件
2019/12/16 Javascript
jQuery 判断元素是否存在然后按需加载内容的实现代码
2020/01/16 jQuery
javascript 模块依赖管理的本质深入详解
2020/04/30 Javascript
[01:56]《DOTA2》中文配音CG
2013/04/22 DOTA
浅谈MySQL中的触发器
2015/05/05 Python
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
对IPython交互模式下的退出方法详解
2019/02/16 Python
python实现手机销售管理系统
2019/03/19 Python
tensorflow之读取jpg图像长和宽实例
2020/06/18 Python
HTML5 客户端数据库简易使用:IndexedDB
2019/12/19 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
Love, Bonito国际官网:新加坡女装品牌
2021/03/13 全球购物
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
金融管理毕业生求职信
2014/03/03 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
2014年采购部工作总结
2014/11/20 职场文书
2014年小学体育工作总结
2014/12/11 职场文书
小学生勤俭节约倡议书
2015/04/29 职场文书
2015年乡镇妇联工作总结
2015/05/19 职场文书
2015年工商所工作总结
2015/05/21 职场文书
小学数学国培研修日志
2015/11/13 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
python playwright之元素定位示例详解
2022/07/23 Python