Python实现字典排序、按照list中字典的某个key排序的方法示例


Posted in Python onDecember 18, 2018

本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下:

1.给字典按照value按照从大到小排序

排序

dict = {'a':21, 'b':5, 'c':3, 'd':54, 'e':74, 'f':0}
new_dict = sorted(dict.iteritems(), key=lambda d:d[1], reverse = True)
print new_dict

输出:

[('e', 74), ('d', 54), ('a', 21), ('b', 5), ('c', 3), ('f', 0)]

2. python按照list中的字典的某key排序:

例子:

s=[
{"no":28,"score":90},
{"no":25,"score":90},
{"no":1,"score":100},
{"no":2,"score":20},
]
print "original s: ",s
# 单级排序,仅按照score排序
new_s = sorted(s,key = lambda e:e.__getitem__('score'))
print "new s: ", new_s
# 多级排序,先按照score,再按照no排序
new_s_2 = sorted(new_s,key = lambda e:(e.__getitem__('score'),e.__getitem__('no')))
print "new_s_2: ", new_s_2

输出:

original s:  [{'score': 90, 'no': 28}, {'score': 90, 'no': 25}, {'score': 100, 'no': 1}, {'score': 20, 'no': 2}]
new s:  [{'score': 20, 'no': 2}, {'score': 90, 'no': 28}, {'score': 90, 'no': 25}, {'score': 100, 'no': 1}]
new_s_2:  [{'score': 20, 'no': 2}, {'score': 90, 'no': 25}, {'score': 90, 'no': 28}, {'score': 100, 'no': 1}]

说明

1.new_s和new_s2的区别在于当score均为90的时候,重新按照no排序

2.顺序为从小到大,若在sorted函数的参数加上reverse = True则为从大到小

Python 相关文章推荐
python根据给定文件返回文件名和扩展名的方法
Mar 27 Python
仅用500行Python代码实现一个英文解析器的教程
Apr 02 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
Aug 25 Python
Python利用Django如何写restful api接口详解
Jun 08 Python
使用Python的SymPy库解决数学运算问题的方法
Mar 27 Python
Python中判断子串存在的性能比较及分析总结
Jun 23 Python
python 实现二维列表转置
Dec 02 Python
如何基于python实现归一化处理
Jan 20 Python
Pycharm打开已有项目配置python环境的方法
Jul 03 Python
python线性插值解析
Jul 05 Python
python绘制趋势图的示例
Sep 17 Python
jupyter使用自动补全和切换默认浏览器的方法
Nov 18 Python
python实现求特征选择的信息增益
Dec 18 #Python
python实现连续图文识别
Dec 18 #Python
Django ManyToManyField 跨越中间表查询的方法
Dec 18 #Python
Python列表list排列组合操作示例
Dec 18 #Python
python实现二维插值的三维显示
Dec 17 #Python
Python实现分段线性插值
Dec 17 #Python
Python 获取主机ip与hostname的方法
Dec 17 #Python
You might like
PHP中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
php检查是否是ajax请求的方法
2015/04/16 PHP
Laravel框架基于中间件实现禁止未登录用户访问页面功能示例
2019/01/17 PHP
php获取是星期几的的一些常用姿势
2019/12/15 PHP
jQuery插件formValidator实现表单验证
2016/05/23 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
bootstrap与Jquery UI 按钮样式冲突的解决办法
2016/09/23 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
在vue中使用vue-echarts-v3的实例代码
2018/09/13 Javascript
jquery登录的异步验证操作示例
2019/05/09 jQuery
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
2020/02/27 Javascript
js判断鼠标移入移出方向的方法
2020/06/24 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
linux环境下python中MySQLdb模块的安装方法
2017/06/16 Python
python实现对excel进行数据剔除操作实例
2017/12/07 Python
Python线程障碍对象Barrier原理详解
2019/12/02 Python
Python 时间戳之获取整点凌晨时间戳的操作方法
2020/01/28 Python
django下创建多个app并设置urls方法
2020/08/02 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
Django数据库迁移常见使用方法
2020/11/12 Python
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
女子职高个人自荐书
2014/02/01 职场文书
广场舞大赛策划方案
2014/05/31 职场文书
2014年话务员工作总结
2014/11/19 职场文书
2014年个人工作总结模板
2014/12/15 职场文书
长城英文导游词
2015/01/30 职场文书
2015年留守儿童工作总结
2015/05/22 职场文书
入党函调证明材料
2015/06/19 职场文书
Eclipse+Java+Swing+Mysql实现电影购票系统(详细代码)
2022/01/18 Java/Android