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的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
不要用强制方法杀掉python线程
Feb 26 Python
Python字符串、整数、和浮点型数相互转换实例
Aug 04 Python
Python pycharm 同时加载多个项目的方法
Jan 17 Python
在PyCharm中批量查找及替换的方法
Jan 20 Python
pandas DataFrame行或列的删除方法的实现示例
Aug 02 Python
pygame实现俄罗斯方块游戏(基础篇2)
Oct 29 Python
Python figure参数及subplot子图绘制代码
Apr 18 Python
Django 允许局域网中的机器访问你的主机操作
May 13 Python
win10安装python3.6的常见问题
Jul 01 Python
Python类成员继承重写的实现
Sep 16 Python
如何利用pygame实现打飞机小游戏
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数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
关于PHP的curl开启问题探讨
2014/04/08 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
Thinkphp事务操作实例(推荐)
2017/04/01 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
[Web]防止用户复制页面内容和另存页面的方法
2009/02/06 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
node在两个div之间移动,用ztree实现
2013/03/06 Javascript
hover的用法及live的用法介绍(鼠标悬停效果)
2013/03/29 Javascript
js模仿jquery的写法示例代码
2013/06/16 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
对比分析AngularJS中的$http.post与jQuery.post的区别
2015/02/27 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
npm国内镜像 安装失败的几种解决方案
2017/06/04 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
JS+canvas画布实现炫酷的旋转星空效果示例
2019/02/13 Javascript
详解vue项目打包步骤
2019/03/29 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
2019/08/29 Javascript
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
python组合无重复三位数的实例
2018/11/13 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
详解PyCharm+QTDesigner+PyUIC使用教程
2019/06/13 Python
Python插入Elasticsearch操作方法解析
2020/01/19 Python
HTML5移动端开发遇见的东西
2019/10/11 HTML / CSS
英国鲜花递送:Blossoming Gifts
2020/07/10 全球购物
Linux操作面试题
2015/02/11 面试题
美术教师岗位职责
2014/03/18 职场文书
毕业证代领委托书
2014/09/26 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
结婚仪式主持词
2015/06/29 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书
mybatis中注解与xml配置的对应关系和对比分析
2021/08/04 Java/Android