Python使用lambda表达式对字典排序操作示例


Posted in Python onJuly 25, 2019

本文实例讲述了Python使用lambda表达式对字典排序操作。分享给大家供大家参考,具体如下:

lambda表达式也常用于字典排序,既然写到字典排序,那就把按键排序和按值排序都写写好了。

字典按键排序

显然按键排序,需要用字典中每个元素的第一项排序

dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:item[0])
sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[0],reverse=True)

输出(第一个升序,第二个降序):

[('a', 1), ('b', 2), ('c', 3), ('d', 4), ('e', 3), ('f', 1), ('g', 7)]
[('g', 7), ('f', 1), ('e', 3), ('d', 4), ('c', 3), ('b', 2), ('a', 1)]]

字典按值排序

需要使用字典中每个元素的第二项进行排序

dict = {'a':1,'b':2,'c':3,'d':4,'e':3,'f':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:item[1])
sorted_dict_dsc = sorted(dict.items(),key=lambda item:item[1],reverse=True)

输出

[('f', 1), ('a', 1), ('b', 2), ('e', 3), ('c', 3), ('d', 4), ('g', 7)]
[('g', 7), ('d', 4), ('e', 3), ('c', 3), ('b', 2), ('f', 1), ('a', 1)]

字典的多条件排序

如上例子,我们想将字典按值排序,当值相等时我们按键排序,那么就是多条件排序。

dict = {'f':1,'b':2,'c':3,'d':4,'e':3,'a':1,'g':7}
sorted_dict_asc = sorted(dict.items(),key=lambda item:(item[1],item[0]))
sorted_dict_dsc = sorted(dict.items(),key=lambda item:(item[1],item[0]),reverse=True)
Python 相关文章推荐
Django自定义认证方式用法示例
Jun 23 Python
Python实现运行其他程序的四种方式实例分析
Aug 17 Python
python实现比较文件内容异同
Jun 22 Python
Django uwsgi Nginx 的生产环境部署详解
Feb 02 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
python中的itertools的使用详解
Jan 13 Python
Python json读写方式和字典相互转化
Apr 18 Python
Python importlib模块重载使用方法详解
Oct 13 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
Jan 29 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 Python
Django集成富文本编辑器summernote的实现步骤
May 31 Python
Python函数对象与闭包函数
Apr 13 Python
浅析Python 引号、注释、字符串
Jul 25 #Python
django的auth认证,authenticate和装饰器功能详解
Jul 25 #Python
使用python telnetlib批量备份交换机配置的方法
Jul 25 #Python
python找出因数与质因数的方法
Jul 25 #Python
HTML的form表单和django的form表单
Jul 25 #Python
Python3 批量扫描端口的例子
Jul 25 #Python
python3 批量获取对应端口服务的实例
Jul 25 #Python
You might like
AJAX for PHP简单表数据查询实例
2007/01/02 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
浅谈PHP各环境下的伪静态配置
2019/03/13 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
javascript读写XML实现广告轮换(兼容IE、FF)
2013/08/09 Javascript
javascript实现树形菜单的方法
2015/07/17 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
对Vue2 自定义全局指令Vue.directive和指令的生命周期介绍
2018/08/30 Javascript
Vue项目pdf(base64)转图片遇到的问题及解决方法
2018/10/19 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
vue2 拖动排序 vuedraggable组件的实现
2019/08/08 Javascript
JS快速实现简单计算器
2020/04/08 Javascript
vue+animation实现翻页动画
2020/06/29 Javascript
[01:21:07]EG vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
使用tensorflow实现AlexNet
2017/11/20 Python
利用Opencv中Houghline方法实现直线检测
2018/02/11 Python
PyQt实现界面翻转切换效果
2018/04/20 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
Python使用sax模块解析XML文件示例
2019/04/04 Python
python使用KNN算法识别手写数字
2019/04/25 Python
python实现高斯判别分析算法的例子
2019/12/09 Python
使用Python实现牛顿法求极值
2020/02/10 Python
如何在python中实现线性回归
2020/08/10 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
电大本科自我鉴定
2014/02/05 职场文书
婚前协议书
2014/04/15 职场文书
法学求职信
2014/06/22 职场文书
领导班子遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
党的群众路线教育实践活动教师自我剖析材料
2014/10/09 职场文书
李强优秀员工观后感
2015/06/16 职场文书
三严三实学习心得体会(精选N篇)
2016/01/05 职场文书