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下载FTP上的文件夹的实现代码
Feb 10 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 Python
python模块之sys模块和序列化模块(实例讲解)
Sep 13 Python
Python通过future处理并发问题
Oct 17 Python
对Python中DataFrame按照行遍历的方法
Apr 08 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 Python
Python用Try语句捕获异常的实例方法
Jun 26 Python
python3.7 sys模块的具体使用
Jul 22 Python
python [:3] 实现提取数组中的数
Nov 27 Python
tensorflow模型保存、加载之变量重命名实例
Jan 21 Python
Python Django ORM连表正反操作技巧
Jun 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删除目录及目录下所有文件的方法详解
2013/06/06 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
php判断用户是否手机访问代码
2015/06/08 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
在IE浏览器中resize事件执行多次的解决方法
2011/07/12 Javascript
通过jQuery源码学习javascript(三)
2012/12/27 Javascript
jQuery中position()方法用法实例
2015/01/16 Javascript
浅析javascript中的DOM
2015/03/01 Javascript
jQuery弹出层插件popShow(改进版)用法示例
2017/01/23 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
es6 filter() 数组过滤方法总结
2019/04/03 Javascript
详解vue 命名视图
2019/08/14 Javascript
原生js实现3D轮播图
2020/03/21 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
[54:29]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第二场
2018/04/09 DOTA
Python查找函数f(x)=0根的解决方法
2015/05/07 Python
使用py2exe在Windows下将Python程序转为exe文件
2016/03/04 Python
python实现微信接口(itchat)详细介绍
2017/10/23 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Pytorch中accuracy和loss的计算知识点总结
2019/09/10 Python
如何用python写个模板引擎
2021/01/14 Python
前端制作动画的几种方式(css3,js)
2016/12/12 HTML / CSS
html通过canvas转成base64的方法
2019/07/18 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
Hotels.com拉丁美洲:从豪华酒店到经济型酒店的预定优惠和折扣
2019/12/09 全球购物
给学校的建议书
2014/03/12 职场文书
售房协议书范本
2015/08/11 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
Python数据可视化之用Matplotlib绘制常用图形
2021/06/03 Python