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按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
Python3中详解fabfile的编写
Jun 24 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
python对验证码降噪的实现示例代码
Nov 12 Python
Python3 实现爬取网站下所有URL方式
Jan 16 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 Python
Python中os模块功能与用法详解
Feb 26 Python
Java多线程实现四种方式原理详解
Jun 02 Python
详解python with 上下文管理器
Sep 02 Python
Python NumPy灰度图像的压缩原理讲解
Aug 04 Python
baselines示例程序train_cartpole.py的ImportError
May 20 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
初学CAKEPHP 基础教程
2009/11/02 PHP
完美实现wordpress禁止文章修订和自动保存的方法
2014/11/03 PHP
学习php设计模式 php实现单例模式(singleton)
2015/12/07 PHP
ThinkPHP5.1+Ajax实现的无刷新分页功能示例
2020/02/10 PHP
jquery 可排列的表实现代码
2009/11/13 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
js操作滚动条事件实例
2015/01/29 Javascript
js获取页面description的方法
2015/05/21 Javascript
BootStrap中Tab页签切换实例代码
2016/05/30 Javascript
Node.js中使用jQuery的做法
2016/08/17 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
javascript 注释代码的几种方法总结
2017/01/04 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
vue数据传递--我有特殊的实现技巧
2018/03/20 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
Vue作用域插槽实现方法及作用详解
2020/07/08 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python学习笔记之常用函数及说明
2014/05/23 Python
python定时利用QQ邮件发送天气预报的实例
2017/11/17 Python
Python实现的桶排序算法示例
2017/11/29 Python
python打包成so文件过程解析
2019/09/28 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
家得宝加拿大家装网上商店:The Home Depot加拿大
2016/08/27 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
LUISAVIAROMA中国官网:时尚奢侈品牌购物网站
2020/11/01 全球购物
计算机售后服务承诺书
2014/05/30 职场文书
元旦标语大全
2014/10/09 职场文书
六一儿童节园长致辞
2015/07/31 职场文书
Java反应式框架Reactor中的Mono和Flux
2021/07/25 Java/Android
vue 自定义组件添加原生事件
2022/04/21 Vue.js
java版 联机五子棋游戏
2022/05/04 Java/Android