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 jieba分词并统计词频后输出结果到Excel和txt文档方法
Feb 11 Python
python验证码识别教程之灰度处理、二值化、降噪与tesserocr识别
Jun 04 Python
Python SQL查询并生成json文件操作示例
Aug 17 Python
Python进阶之自定义对象实现切片功能
Jan 07 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
Python pandas自定义函数的使用方法示例
Nov 20 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
Python多进程编程常用方法解析
Mar 26 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
详解matplotlib绘图样式(style)初探
Feb 03 Python
Python max函数中key的用法及原理解析
Jun 26 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
PHP 计算代码执行耗时的代码修正网上普遍错误
2011/05/14 PHP
WAF的正确bypass
2017/01/05 PHP
IE浏览器打印的页眉页脚设置解决方法
2009/12/08 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
谈谈js中的prototype及prototype属性解释和常用方法
2015/11/25 Javascript
JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
2015/12/14 Javascript
Javascript获取随机数的实现方法
2016/06/22 Javascript
JQuery页面随滚动条动态加载效果的简单实现(推荐)
2017/02/08 Javascript
vue组件间通信解析
2017/03/01 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
从零开始搭建webpack+react开发环境的详细步骤
2018/05/18 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
[48:21]Mski vs VGJ.S Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
详解python中的线程与线程池
2019/05/10 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
Python实现京东抢秒杀功能
2021/01/25 Python
CSS3 中filter(滤镜)属性使用详解
2020/04/07 HTML / CSS
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
销售顾问的岗位职责
2013/11/13 职场文书
班组长安全职责
2014/01/05 职场文书
医药销售求职信范文
2014/02/01 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
面试自我评价范文
2014/09/17 职场文书
副总经理岗位职责范本
2014/09/30 职场文书
2014年村支部书记四风对照检查材料思想汇报
2014/10/02 职场文书
开展批评与自我批评发言稿
2014/10/16 职场文书
大学生实习证明
2015/06/16 职场文书
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技