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中使用Inotify监控文件实例
Feb 14 Python
用Python删除本地目录下某一时间点之前创建的所有文件的实例
Dec 14 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
python距离测量的方法
Mar 06 Python
Flask实现跨域请求的处理方法
Sep 27 Python
Python如何获得百度统计API的数据并发送邮件示例代码
Jan 27 Python
Python中typing模块与类型注解的使用方法
Aug 05 Python
python进程池实现的多进程文件夹copy器完整示例
Nov 27 Python
python基于opencv检测程序运行效率
Dec 28 Python
pandas 强制类型转换 df.astype实例
Apr 09 Python
详解python算法常用技巧与内置库
Oct 17 Python
python中append函数用法讲解
Dec 11 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获取地址栏信息的代码
2008/10/08 PHP
由php的call_user_func传reference引发的思考
2010/07/23 PHP
PHP随机生成随机个数的字母组合示例
2014/01/14 PHP
PHP异步进程助手async-helper
2018/02/05 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
js中的屏蔽的使用示例
2013/07/30 Javascript
js倒计时小程序
2013/11/05 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
原生js实现数字字母混合验证码的简单实例
2015/12/10 Javascript
js省市县三级联动效果实例
2020/04/15 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
鼠标拖动改变DIV等网页元素的大小的实现方法
2017/07/06 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
微信小程序判断页面是否从其他页面返回的实例代码
2019/07/03 Javascript
Vue v-for循环之@click点击事件获取元素示例
2019/11/09 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
vue-video-player 断点续播的实现
2021/02/01 Vue.js
Python设计模式中单例模式的实现及在Tornado中的应用
2016/03/02 Python
深入解析Python中的上下文管理器
2016/06/28 Python
Python的装饰器使用详解
2017/06/26 Python
对pandas replace函数的使用方法小结
2018/05/18 Python
opencv python 基于KNN的手写体识别的实例
2018/08/03 Python
PyQt5 QTable插入图片并动态更新的实例
2019/06/18 Python
澳大利亚最便宜的网上药房:Chemist Warehouse
2020/01/30 全球购物
转党组织关系介绍信
2014/01/08 职场文书
2015年民主评议党员工作总结
2015/05/19 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书
threejs太阳光与阴影效果实例代码
2022/04/05 Javascript