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动态加载变量示例分享
Feb 17 Python
python使用Berkeley DB数据库实例
Sep 26 Python
Python编写百度贴吧的简单爬虫
Apr 02 Python
Python 中Pickle库的使用详解
Feb 24 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
Oct 29 Python
python+selenium实现QQ邮箱自动发送功能
Jan 23 Python
python flask框架实现重定向功能示例
Jul 02 Python
Python pandas库中的isnull()详解
Dec 26 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 Python
python中数字是否为可变类型
Jul 08 Python
详解pycharm自动import所需的库的操作方法
Nov 30 Python
python 写一个水果忍者游戏
Jan 13 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
VOLVO车载收音机
2021/03/02 无线电
模拟flock实现文件锁定
2007/02/14 PHP
小文件php+SQLite存储方案
2010/09/04 PHP
PHP删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
php中实现精确设置session过期时间的方法
2014/07/17 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
在TP5数据库中四个字段实现无限分类的示例
2019/10/18 PHP
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
js substr、substring和slice使用说明小记
2011/09/15 Javascript
JS根据变量保存方法名并执行方法示例
2014/04/04 Javascript
JavaScript数据结构与算法之栈详解
2015/03/12 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
vue使用stompjs实现mqtt消息推送通知
2017/06/22 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
2019/12/22 Javascript
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python类的多重继承问题深入分析
2014/11/09 Python
python中base64加密解密方法实例分析
2015/05/16 Python
Python实现识别手写数字 Python图片读入与处理
2020/03/23 Python
python合并已经存在的sheet数据到新sheet的方法
2018/12/11 Python
Python模块 _winreg操作注册表
2020/02/05 Python
美国摩托车头盔、零件、齿轮及配件商店:Cycle Gear
2019/06/12 全球购物
Linux常见面试题
2013/03/18 面试题
乡镇干部十八大感言
2014/02/17 职场文书
群众路线剖析材料范文
2014/10/09 职场文书
党员贯彻十八大精神思想汇报范文
2014/10/25 职场文书
热血教师观后感
2015/06/10 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
springboot中一些比较常用的注解总结
2021/06/11 Java/Android
dubbo服务整合zipkin详解
2021/07/26 Java/Android
Win11如何修改dns?Win11修改dns图文教程
2022/01/18 数码科技