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 读写txt文件 json文件的实现方法
Oct 22 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
Apr 28 Python
让Python更加充分的使用Sqlite3
Dec 11 Python
python时间日期函数与利用pandas进行时间序列处理详解
Mar 13 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
Python列表推导式与生成器用法分析
Aug 02 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
使用IDLE的Python shell窗口实例详解
Nov 19 Python
Python生成六万个随机,唯一的8位数字和数字组成的随机字符串实例
Mar 03 Python
python 数据分析实现长宽格式的转换
May 18 Python
Python实现数字的格式化输出
Aug 01 Python
filter使用python3代码进行迭代元素的实例详解
Dec 03 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
星际争霸中的对战模式介绍
2020/03/04 星际争霸
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
MySQL连接数超过限制的解决方法
2011/07/17 PHP
php绘制一条直线的方法
2015/01/24 PHP
Thinkphp5框架实现图片、音频和视频文件的上传功能详解
2019/08/27 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
动态的9*9乘法表效果的实现代码
2016/05/16 Javascript
基于JavaScript实现的顺序查找算法示例
2017/04/14 Javascript
Angular2环境搭建具体操作步骤(推荐)
2017/08/04 Javascript
清空元素html("") innerHTML="" 与 empty()的区别和应用(推荐)
2017/08/14 Javascript
select自定义小三角样式代码(实用总结)
2017/08/18 Javascript
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
如何写好一个vue组件,老夫的一年经验全在这了(推荐)
2019/05/18 Javascript
react实现同页面三级跳转路由布局
2019/09/26 Javascript
vue el-table实现自定义表头
2019/12/11 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
Python入门之三角函数tan()函数实例详解
2017/11/08 Python
wxPython之解决闪烁的问题
2018/01/15 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
2019/08/13 Python
python3的数据类型及数据类型转换实例详解
2019/08/20 Python
巴西购物网站:Estrela10
2018/12/13 全球购物
JAVA和C++区别都有哪些
2015/03/30 面试题
学生会竞选自荐信
2013/10/12 职场文书
实习教师个人的自我评价
2013/11/08 职场文书
中学教师岗位职责
2013/11/26 职场文书
支教自我鉴定
2014/01/18 职场文书
学习雷锋活动总结
2014/04/29 职场文书
植树造林的宣传标语
2014/06/23 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书
vue-cropper组件实现图片切割上传
2021/05/27 Vue.js