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实现redis三种cas事务操作
Dec 19 Python
python实现人民币大写转换
Jun 20 Python
python实现弹窗祝福效果
Apr 07 Python
Pycharm新建模板默认添加个人信息的实例
Jul 15 Python
详解Python3 pandas.merge用法
Sep 05 Python
Python自动生成代码 使用tkinter图形化操作并生成代码框架
Sep 18 Python
详解基于python的多张不同宽高图片拼接成大图
Sep 26 Python
Python中__repr__和__str__区别详解
Nov 07 Python
python字典和json.dumps()的遇到的坑分析
Mar 11 Python
Python偏函数Partial function使用方法实例详解
Jun 17 Python
彻底解决Python包下载慢问题
Nov 15 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
PHP中的替代语法介绍
2015/01/09 PHP
php通过分类列表产生分类树数组的方法
2015/04/20 PHP
使用Thinkphp框架开发移动端接口
2015/08/05 PHP
PHP实现获取并生成数据库字典的方法
2016/05/04 PHP
PHP不使用内置函数实现字符串转整型的方法示例
2017/07/03 PHP
ThinkPHP3.2框架操作Redis的方法分析
2019/05/05 PHP
JS按位非(~)运算符与~~运算符的理解分析
2011/07/31 Javascript
js和jquery使按钮失效为不可用状态的方法
2014/01/26 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
javascript格式化json显示实例分析
2015/04/21 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
jQuery设置Cookie及删除Cookie实例分析
2016/04/15 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
jQuery图片轮播实现并封装(一)
2016/12/03 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
vue+swiper实现侧滑菜单效果
2017/12/28 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
python字符串连接的N种方式总结
2014/09/17 Python
为Python的web框架编写前端模版的教程
2015/04/30 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Python自带的IDE在哪里
2020/07/01 Python
设计模式的基本要素是什么
2014/04/21 面试题
资深财务管理人员自我评价
2013/09/22 职场文书
医院辞职信范文
2014/01/17 职场文书
2014高考励志标语
2014/06/05 职场文书
建筑节能汇报材料
2014/08/22 职场文书
小学生国庆65周年演讲稿范文(2篇)
2014/09/21 职场文书
2015秋季开学典礼演讲稿
2015/07/16 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
详解前端任务构建利器Gulp.js使用指南
2021/04/30 Javascript
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python
CSS 实现角标效果的完整代码
2022/06/28 HTML / CSS
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers