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使用tablib生成excel文件的简单实现方法
Mar 16 Python
python实现决策树分类算法
Dec 21 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
python实现大文本文件分割
Jul 22 Python
python实现翻转棋游戏(othello)
Jul 29 Python
python 实现turtle画图并导出图片格式的文件
Dec 07 Python
Python-jenkins模块获取jobs的执行状态操作
May 12 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 Python
python 调用js的四种方式
Apr 11 Python
学会用Python实现滑雪小游戏,再也不用去北海道啦
May 20 Python
Python基础之变量的相关知识总结
Jun 23 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+mysqli使用面向对象方式查询数据库实例
2015/01/29 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
php判断电子邮件是否正确方法
2018/12/04 PHP
javascript 写类方式之五
2009/07/05 Javascript
jQuery图片预加载 等比缩放实现代码
2011/10/04 Javascript
使用原生JS实现弹出层特效
2014/12/22 Javascript
JavaScript函数详解
2015/02/27 Javascript
JavaScript中神奇的call()方法
2015/03/12 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
浅谈react.js 之 批量添加与删除功能
2017/04/17 Javascript
Vue实现动态创建和删除数据的方法
2018/03/17 Javascript
Vue.js更改调试地址端口号的实例
2018/09/19 Javascript
jQuery判断自定义属性data-val用法示例
2019/01/07 jQuery
bootstrap tooltips在 angularJS中的使用方法
2019/04/10 Javascript
[01:25:09]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第二场
2014/05/24 DOTA
[17:36]VG战队纪录片
2014/08/21 DOTA
[01:07:57]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第二场 1月19日
2021/03/11 DOTA
Python实现ssh批量登录并执行命令
2016/10/25 Python
python3判断url链接是否为404的方法
2018/08/10 Python
对python 多个分隔符split 的实例详解
2018/12/20 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
django表单的Widgets使用详解
2019/07/22 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
一款纯css3实现的竖形二级导航的实例教程
2014/12/11 HTML / CSS
HTML5 CSS3新的WEB标准和浏览器支持
2009/07/16 HTML / CSS
创立科技Java面试题
2015/11/29 面试题
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
客户答谢会活动方案
2014/08/31 职场文书
机关作风建设整改方案
2014/10/27 职场文书
2014年信息宣传工作总结
2014/12/18 职场文书
义卖募捐活动总结
2015/05/09 职场文书
工作建议书范文
2019/07/08 职场文书
redis客户端实现高可用读写分离的方式详解
2021/07/04 Redis