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中enumerate的用法实例解析
Aug 18 Python
Python中列表元素转为数字的方法分析
Jun 14 Python
python中正则的使用指南
Dec 04 Python
python打包压缩、读取指定目录下的指定类型文件
Apr 12 Python
Python使用sorted对字典的key或value排序
Nov 15 Python
对Python 语音识别框架详解
Dec 24 Python
解决python2 绘图title,xlabel,ylabel出现中文乱码的问题
Jan 29 Python
kali中python版本的切换方法
Jul 11 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
python判断正负数方式
Jun 03 Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 Python
python数据库批量插入数据的实现(executemany的使用)
Apr 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下批量挂马和批量清马代码
2011/02/27 PHP
浅析is_writable的php实现
2013/06/18 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
由JavaScript技术实现的web小游戏(不含网游)
2010/06/12 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
每天一篇javascript学习小结(属性定义方法)
2015/11/19 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
理解JavaScript事件对象
2016/01/25 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
完美解决js传递参数中加号和&号自动改变的方法
2016/10/11 Javascript
利用JS制作万年历的方法
2017/08/16 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
nodejs实现日志读取、日志查找及日志刷新的方法分析
2019/05/20 NodeJs
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
[00:32]2018DOTA2亚洲邀请赛Newbee出场
2018/04/03 DOTA
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
python实现媒体播放器功能
2018/02/11 Python
在pycharm中python切换解释器失败的解决方法
2018/10/29 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
python实现对输入的密文加密
2019/03/20 Python
Python对ElasticSearch获取数据及操作
2019/04/24 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
pymysql的简单封装代码实例
2020/01/08 Python
python随机模块random使用方法详解
2020/02/14 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
python向企业微信发送文字和图片消息的示例
2020/09/28 Python
美国在线乐器和设备商店:Musician’s Friend
2018/07/06 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
阿里巴巴美国:Alibaba美国
2019/11/24 全球购物
团队口号大全
2014/06/06 职场文书
人事代理委托书
2014/09/27 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
机械生产实习心得体会
2016/01/22 职场文书
导游词之阳朔遇龙河
2019/12/16 职场文书
高考要来啦!用Python爬取历年高考数据并分析
2021/06/03 Python