详解python的sorted函数对字典按key排序和按value排序


Posted in Python onAugust 10, 2018

1.sorted函数按key值对字典排序

先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

其中iterable表示可以迭代的对象,例如可以是 dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺 序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。

要按key值对字典排序,则可以使用如下语句:

详解python的sorted函数对字典按key排序和按value排序

直接使用sorted(d.keys())就能按key值对字典排序,这里是按照顺序对key值排序的,如果想按照倒序排序的话,则只要将reverse置为true即可。

2.sorted函数按value值对字典排序

要对字典的value排序则需要用到key参数,在这里主要提供一种使用lambda表达式的方法,如下:

详解python的sorted函数对字典按key排序和按value排序

这里的d.items()实际上是将d转换为可迭代对象,迭代对象的元素为 (‘lilee',25)、(‘wangyan',21)、(‘liqun',32)、(‘lidaming',19),items()方法将字典的元素 转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。lambdax:y中x表示输出参数,y表示lambda 函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用scrapy解析js示例
Jan 23 Python
列举Python中吸引人的一些特性
Apr 09 Python
Python中你应该知道的一些内置函数
Mar 31 Python
Python3 循环语句(for、while、break、range等)
Nov 20 Python
Python lambda函数基本用法实例分析
Mar 16 Python
如何优雅地处理Django中的favicon.ico图标详解
Jul 05 Python
django解决跨域请求的问题详解
Jan 20 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
python sqlite的Row对象操作示例
Sep 11 Python
Python中低维数组填充高维数组的实现
Dec 02 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
OpenCV-Python直方图均衡化实现图像去雾
Jun 07 Python
Selenium(Python web测试工具)基本用法详解
Aug 10 #Python
Python生成器generator用法示例
Aug 10 #Python
python 字典修改键(key)的几种方法
Aug 10 #Python
详解python 注释、变量、类型
Aug 10 #Python
python文件操作之批量修改文件后缀名的方法
Aug 10 #Python
Random 在 Python 中的使用方法
Aug 09 #Python
Python中函数参数调用方式分析
Aug 09 #Python
You might like
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
ExtJS下 Ext.Direct加载和提交过程排错小结
2013/04/02 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
实例解析jQuery中如何取消后续执行内容
2016/12/01 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
2017/11/22 Javascript
详解使用webpack构建多页面应用
2017/12/21 Javascript
js经验分享 JavaScript反调试技巧
2018/03/10 Javascript
AngularJS 事件发布机制
2018/08/28 Javascript
微信小程序实现自动定位功能
2018/10/31 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[04:02]2014DOTA2国际邀请赛 BBC每日综述中国战队将再度登顶
2014/07/21 DOTA
Python查询Mysql时返回字典结构的代码
2012/06/18 Python
使用python Django做网页
2013/11/04 Python
Python 查看文件的读写权限方法
2018/01/23 Python
浅谈numpy数组中冒号和负号的含义
2018/04/18 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
Python调用.NET库的方法步骤
2019/12/27 Python
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
EMPHASIS艾斐诗官网:周生生旗下原创精品珠宝品牌
2020/12/17 全球购物
美术专业个人自我评价
2014/01/18 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
村干部培训班主持词
2014/03/28 职场文书
激励口号大全
2014/06/17 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
何玥事迹观后感
2015/06/16 职场文书
想要创业,那么你做好准备了吗?
2019/07/01 职场文书
毕业生自荐求职信书写的技巧
2019/08/26 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android