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 相关文章推荐
Python3.0与2.X版本的区别实例分析
Aug 25 Python
介绍Python中的fabs()方法的使用
May 14 Python
Django学习教程之静态文件的调用详解
May 08 Python
解决win64 Python下安装PIL出错问题(图解)
Sep 03 Python
python将.ppm格式图片转换成.jpg格式文件的方法
Oct 27 Python
python之验证码生成(gvcode与captcha)
Jan 02 Python
python实现感知器算法(批处理)
Jan 18 Python
django query模块
Apr 20 Python
基于python if 判断选择结构的实例详解
May 06 Python
Python二维码生成识别实例详解
Jul 16 Python
python求加权平均值的实例(附纯python写法)
Aug 22 Python
基于Django集成CAS实现流程详解
Nov 28 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
php5.2 Json不能正确处理中文、GB编码的解决方法
2014/03/28 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
25个好玩的JavaScript小游戏分享
2011/04/22 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
在JavaScript中操作时间之setYear()方法的使用
2015/06/12 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
2015/10/28 Javascript
JS遍历对象属性的方法示例
2017/01/10 Javascript
javascript判断元素存在和判断元素存在于实时的dom中的方法
2017/01/17 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
nodejs 图片预览和上传的示例代码
2017/09/30 NodeJs
vue组件中使用iframe元素的示例代码
2017/12/13 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
webstorm中vue语法的支持详解
2018/05/09 Javascript
详解Vue2 添加对scss的支持
2019/01/02 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
在Vue中使用mockjs代码实例
2020/11/25 Vue.js
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
简单了解Django ORM常用字段类型及参数配置
2020/01/07 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
阿迪达斯西班牙官方网站:adidas西班牙
2016/07/21 全球购物
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
职业生涯规划设计步骤
2014/01/12 职场文书
婚庆司仪主持词
2014/03/15 职场文书
卫生系统先进事迹
2014/05/13 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
Python实现随机生成迷宫并自动寻路
2021/06/13 Python
SpringBoot系列之MongoDB Aggregations用法详解
2022/02/12 MongoDB
win10键盘驱动怎么修复?Win10键盘驱动修复小技巧
2022/04/06 数码科技
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL