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 相关文章推荐
windows系统中python使用rar命令压缩多个文件夹示例
May 06 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
Sep 25 Python
python 设置文件编码格式的实现方法
Dec 21 Python
python清除字符串中间空格的实例讲解
May 11 Python
Python 从列表中取值和取索引的方法
Dec 25 Python
解决Pandas的DataFrame输出截断和省略的问题
Feb 08 Python
Django中create和save方法的不同
Aug 13 Python
python 递归调用返回None的问题及解决方法
Mar 16 Python
Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
Jun 14 Python
python 实现汉诺塔游戏
Nov 28 Python
教你使用Python获取QQ音乐某个歌手的歌单
Apr 03 Python
python运算符之与用户交互
Apr 13 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获取网页内容方法总结
2008/12/04 PHP
php动态生成函数示例
2014/03/21 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
在一个浏览器里呈现所有浏览器测试结果的前端测试工具的思路
2010/03/02 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
动态改变div的z-index属性的简单实例
2013/08/08 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
jquery实现网页定位导航
2016/08/23 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
2017/10/14 jQuery
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
深入了解响应式React Native Echarts组件
2019/05/29 Javascript
使用python 获取进程pid号的方法
2014/03/10 Python
Python与Redis的连接教程
2015/04/22 Python
Python使用win32com实现的模拟浏览器功能示例
2017/07/13 Python
Python程序退出方式小结
2017/12/09 Python
python构建深度神经网络(续)
2018/03/10 Python
Python高级特性切片(Slice)操作详解
2018/09/27 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
日本酒店、民宿、温泉旅馆、当地旅行团中文预订:e路东瀛
2019/12/09 全球购物
锦旗标语大全
2014/06/23 职场文书
投标授权委托书范文
2014/08/02 职场文书
2014幼儿园家长工作总结
2014/11/10 职场文书
2019邀请函格式及范文
2019/05/20 职场文书
CSS3 制作精美的定价表
2021/04/06 HTML / CSS
Pytorch 实现变量类型转换
2021/05/17 Python
判断Python中的Nonetype类型
2021/05/25 Python
PHP设计模式(观察者模式)
2021/07/07 PHP
Redis唯一ID生成器的实现
2022/07/07 Redis
Python 避免字典和元组的多重嵌套问题
2022/07/15 Python