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获取豆瓣电影简介代码分享
Jan 16 Python
在Django的模型和公用函数中使用惰性翻译对象
Jul 27 Python
Python实现的根据IP地址计算子网掩码位数功能示例
May 23 Python
详解Python发送email的三种方式
Oct 18 Python
python+pyqt5实现24点小游戏
Jan 24 Python
基于python历史天气采集的分析
Feb 14 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
详解Python 字符串相似性的几种度量方法
Aug 29 Python
Python注释、分支结构、循环结构、伪“选择结构”用法实例分析
Jan 09 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
Feb 03 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 Python
keras实现theano和tensorflow训练的模型相互转换
Jun 19 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
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
用PHP实现的生成静态HTML速度快类库
2007/03/31 PHP
PHP判断指定时间段的2个方法
2014/03/14 PHP
PHP通过插入mysql数据来实现多机互锁实例
2014/11/05 PHP
Yii框架通过请求组件处理get,post请求的方法分析
2019/09/03 PHP
javascript 获取url参数和script标签中获取url参数函数代码
2010/01/22 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
js 处理数组重复元素示例代码
2013/12/27 Javascript
jQuery设置与获取HTML,文本和值的简单实例
2014/02/26 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
学习JavaScript设计模式之模板方法模式
2016/01/20 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
jquery.rotate.js实现可选抽奖次数和中奖内容的转盘抽奖代码
2017/08/23 jQuery
微信小程序实现顶部选项卡(swiper)
2020/06/19 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
vue动态删除从数据库倒入列表的某一条方法
2018/09/29 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
原生JS实现留言板
2020/03/26 Javascript
在Python中操作字符串之startswith()方法的使用
2015/05/20 Python
详解Python sys.argv使用方法
2019/05/10 Python
Django实现发送邮件功能
2019/07/18 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
如何手工释放资源
2013/12/15 面试题
《小小竹排画中游》教学反思
2014/02/26 职场文书
会计专业求职信
2014/08/10 职场文书
社区综治工作汇报
2014/10/27 职场文书
好媳妇事迹材料
2014/12/24 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
三方合作意向书范本
2015/05/09 职场文书
致运动员赞词
2015/07/22 职场文书
Python基础之字符串格式化详解
2021/04/21 Python
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python