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面向对象编程中类的继承
Jun 17 Python
python中执行shell的两种方法总结
Jan 10 Python
Python 关于反射和类的特殊成员方法
Sep 14 Python
Python基础教程之利用期物处理并发
Mar 29 Python
Python爬虫实现全国失信被执行人名单查询功能示例
May 03 Python
django中使用POST方法获取POST数据
Aug 20 Python
python列表推导式入门学习解析
Dec 02 Python
win10系统Anaconda和Pycharm的Tensorflow2.0之CPU和GPU版本安装教程
Dec 03 Python
浅谈图像处理中掩膜(mask)的意义
Feb 19 Python
Python bisect模块原理及常见实例
Jun 17 Python
windows安装python超详细图文教程
May 21 Python
关于pytest结合csv模块实现csv格式的数据驱动问题
May 30 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代码
2012/06/08 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
laravel创建类似ThinPHP中functions.php的全局函数
2016/11/26 PHP
php 使用ActiveMQ发送消息,与处理消息操作示例
2020/02/23 PHP
javascript setAttribute, getAttribute 在不同浏览器上的不同表现
2010/08/05 Javascript
JavaScript中的索引数组、关联数组和静态数组、动态数组讲解
2014/11/08 Javascript
express的中间件bodyParser详解
2014/12/04 Javascript
node.js中的url.format方法使用说明
2014/12/10 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
一个仿微博登陆邮箱提示框js开发案例
2016/07/28 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
JS简单数组排序操作示例【sort方法】
2019/05/17 Javascript
JQuery使用属性addClass、removeClass和toggleClass实现增加和删除类操作示例
2019/11/18 jQuery
koa2的中间件功能及应用示例
2020/03/05 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
Python常用模块用法分析
2014/09/08 Python
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
Python HTMLParser模块解析html获取url实例
2015/04/08 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
python版本的仿windows计划任务工具
2018/04/30 Python
python存储16bit和32bit图像的实例
2018/12/05 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
用python绘制樱花树
2020/10/09 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
快速创建python 虚拟环境
2020/11/28 Python
详解如何用canvas画一个微笑的表情
2019/03/14 HTML / CSS
南京某软件公司的.net面试题
2015/11/30 面试题
大学生物业管理求职信
2013/10/24 职场文书
幼儿园教师岗位职责
2014/03/17 职场文书
公司授权委托书范文
2014/09/21 职场文书
医生党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
考试作弊检讨书1000字(5篇)
2014/10/19 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书