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字符串的常用操作方法小结
May 21 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
Python minidom模块用法示例【DOM写入和解析XML】
Mar 25 Python
python KNN算法实现鸢尾花数据集分类
Oct 24 Python
Django Admin设置应用程序及模型顺序方法详解
Apr 01 Python
通俗易懂了解Python装饰器原理
Sep 17 Python
Pandas的数据过滤实现
Jan 15 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
Feb 02 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
Flask搭建一个API服务器的步骤
May 28 Python
详解Python+OpenCV绘制灰度直方图
Mar 22 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 分页原理分析,大家可以看看
2009/12/21 PHP
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
PHP UTF8中文字符截断函数代码
2012/09/11 PHP
PHP生成和获取XML格式数据的方法
2016/03/04 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
用javascript来实现动画导航效果的代码
2007/12/16 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
node.js应用后台守护进程管理器Forever安装和使用实例
2014/06/01 Javascript
jQuery中unbind()方法用法实例
2015/01/19 Javascript
JQuery中使文本框获得焦点的方法实例分析
2015/02/28 Javascript
实现JavaScript的组成----BOM和DOM详解
2016/05/18 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
[05:05]第三天的dota2
2013/07/29 DOTA
小结Python用fork来创建子进程注意事项
2014/07/03 Python
Python深入学习之闭包
2014/08/31 Python
简单介绍Python的Tornado框架中的协程异步实现原理
2015/04/23 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python求算数平方根和约数的方法汇总
2016/03/09 Python
浅谈flask中的before_request与after_request
2018/01/20 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
Python趣味实例,实现一个简单的抽奖刮刮卡
2020/07/18 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
巴西体育用品商店:Lojão dos Esportes
2018/07/21 全球购物
Internet体系结构
2014/12/21 面试题
大学应届毕业生个人求职信
2013/09/23 职场文书
高中军训感言500字
2014/02/24 职场文书
软件测试专业推荐信
2014/09/18 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
赤壁观后感(2)
2015/06/15 职场文书
研讨会致辞
2015/07/31 职场文书
2019年教师节活动策划方案
2019/09/09 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript