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 相关文章推荐
python模拟Django框架实例
May 17 Python
python3 requests中使用ip代理池随机生成ip的实例
May 07 Python
mac 安装python网络请求包requests方法
Jun 13 Python
python pillow模块使用方法详解
Aug 30 Python
VSCode中自动为Python文件添加头部注释
Nov 14 Python
如何基于python操作json文件获取内容
Dec 24 Python
pytorch中的transforms模块实例详解
Dec 31 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
Python tornado上传文件的功能
Mar 26 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
python生成word合同的实例方法
Jan 12 Python
Python集合的基础操作
Nov 01 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
PL-880隐藏功能
2021/03/01 无线电
PHP和Mysqlweb应用开发核心技术-第1部分 Php基础-2 php语言介绍
2011/07/03 PHP
PHP保留两位小数并且四舍五入及不四舍五入的方法
2013/09/22 PHP
详解PHP执行定时任务的实现思路
2015/12/21 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
HTML中事件触发列表与解说
2007/07/09 Javascript
javascript中最常用的继承模式 组合继承
2010/08/12 Javascript
情人节之礼 js项链效果
2012/02/13 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
最短的IE判断var ie=!-[1,]分析
2014/05/28 Javascript
js实现延迟加载的方法
2015/06/24 Javascript
简单实现js拖拽效果
2017/07/25 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
vue.js2.0 实现better-scroll的滚动效果实例详解
2018/08/13 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
使用Vue 实现滑动验证码功能
2019/06/27 Javascript
JavaScript函数Call、Apply原理实例解析
2020/02/17 Javascript
跟老齐学Python之??碌某?? target=
2014/09/12 Python
开始着手第一个Django项目
2015/07/15 Python
分享几道你可能遇到的python面试题
2017/07/24 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
2017/10/01 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
Matplotlib绘制雷达图和三维图的示例代码
2020/01/07 Python
Pytorch 保存模型生成图片方式
2020/01/10 Python
HTML5 虚拟键盘出现挡住输入框的解决办法
2017/02/14 HTML / CSS
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
采购员岗位职责
2013/11/15 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
2014年党员个人剖析材料
2014/10/08 职场文书
医生学习党的群众路线教育实践活动心得体会
2014/11/03 职场文书
工作证明格式范文
2015/06/15 职场文书