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 相关文章推荐
pycharm 使用心得(一)安装和首次使用
Jun 05 Python
用Python实现协同过滤的教程
Apr 08 Python
Python随机数random模块使用指南
Sep 09 Python
Python 模拟登陆的两种实现方法
Aug 10 Python
pandas 转换成行列表进行读取与Nan处理的方法
Oct 30 Python
python实现抽奖小程序
Apr 15 Python
对Python中class和instance以及self的用法详解
Jun 26 Python
对python中的装包与解包实例详解
Aug 24 Python
Django 自定义分页器的实现代码
Nov 24 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
Python自定义聚合函数merge与transform区别详解
May 26 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 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小偷程序)
2014/08/23 PHP
php连接mysql数据库最简单的实现方法
2019/09/24 PHP
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
jquery提示 "object expected"的解决方法
2009/12/13 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
JavaScript学习笔记之定时器
2015/01/22 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
vue快捷键与基础指令详解
2017/06/01 Javascript
express express-session的使用小结
2018/12/12 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
webpack 如何解析代码模块路径的实现
2019/09/04 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
微信小程序实现音乐播放器
2019/11/20 Javascript
[02:44]DOTA2英雄基础教程 钢背兽
2013/12/19 DOTA
Python写的一个定时重跑获取数据库数据
2016/12/28 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
python利用跳板机ssh远程连接redis的方法
2019/02/19 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
golang/python实现归并排序实例代码
2020/08/30 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
你正在寻找的CSS3 动画技术
2011/07/27 HTML / CSS
HTML5各种头部meta标签的功能(推荐)
2017/03/13 HTML / CSS
Hotels.com加拿大:领先的在线住宿网站
2018/10/05 全球购物
介绍一下gcc特性
2015/10/31 面试题
教师试用期自我鉴定
2014/02/12 职场文书
建议书标准格式
2014/03/12 职场文书
幼儿园开学寄语
2014/04/03 职场文书
解除合同协议书
2014/04/17 职场文书
北京申奥口号
2014/06/19 职场文书
先进工作者事迹材料
2014/12/23 职场文书
Typescript类型系统FLOW静态检查基本规范
2022/05/25 Javascript
使用CSS实现黑白格背景效果
2022/06/01 HTML / CSS
Win11 Beta 预览版 22621.575 和 22622.575更新补丁KB5016694发布(附更新内容大全)
2022/08/14 数码科技