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科学计算之NumPy入门教程
Jan 15 Python
手把手教你python实现SVM算法
Dec 27 Python
酷! 程序员用Python带你玩转冲顶大会
Jan 17 Python
Python实现的购物车功能示例
Feb 11 Python
Python装饰器的执行过程实例分析
Jun 04 Python
设置python3为默认python的方法
Oct 31 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
Pytorch DataLoader 变长数据处理方式
Jan 08 Python
python 实现控制鼠标键盘
Nov 27 Python
pytorch 6 batch_train 批训练操作
May 28 Python
Python Pandas读取Excel日期数据的异常处理方法
Feb 28 Python
Python find()、rfind()方法及作用
Dec 24 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 5.3.5安装memcache注意事项小结
2011/04/12 PHP
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
php从数据库查询结果生成树形列表的方法
2015/04/17 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
php实现图片压缩处理
2020/09/09 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
Javascript Math对象
2009/08/13 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
让innerText在firefox火狐和IE浏览器都能用的写法
2011/05/14 Javascript
javascript针对DOM的应用实例(一)
2012/04/15 Javascript
javascript实现数字+字母验证码的简单实例
2014/02/10 Javascript
javascript实现tab切换特效
2015/11/12 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
2016/04/29 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
Angular 4.x中表单Reactive Forms详解
2017/04/25 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
vue使用技巧及vue项目中遇到的问题
2018/06/04 Javascript
关于js陀螺仪的理解分析
2019/04/11 Javascript
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Python 字符串与数字输出方法
2018/07/16 Python
python爬取指定微信公众号文章
2018/12/20 Python
使用OpenCV实现仿射变换—缩放功能
2019/08/29 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
Numpy 理解ndarray对象的示例代码
2020/04/03 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
2020/04/13 Python
HTML5语音识别标签写法附图
2013/11/18 HTML / CSS
戴尔加拿大官网:Dell加拿大
2016/09/17 全球购物
新加坡航空官方网站:Singapore Airlines
2016/10/13 全球购物
知识竞赛活动方案
2014/02/18 职场文书
物理教学随笔感言
2014/02/22 职场文书
大学生党校培训心得体会
2014/09/11 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
JavaScript实现队列结构过程
2021/12/06 Javascript