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实现下载指定网址所有图片的方法
Aug 08 Python
python 链接和操作 memcache方法
Mar 04 Python
Python实现的计数排序算法示例
Nov 29 Python
[原创]pip和pygal的安装实例教程
Dec 07 Python
python pandas 组内排序、单组排序、标号的实例
Apr 12 Python
flask框架实现连接sqlite3数据库的方法分析
Jul 16 Python
Python模拟自动存取款机的查询、存取款、修改密码等操作
Sep 02 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
Apr 12 Python
python 画二维、三维点之间的线段实现方法
Jul 07 Python
Python3运算符常见用法分析
Feb 14 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
Jul 03 Python
python 爬虫如何正确的使用cookie
Oct 27 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使用CURL获取302跳转后的地址实例
2014/05/04 PHP
php从完整文件路径中分离文件目录和文件名的方法
2015/03/13 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
jQuery 复合选择器应用的几个例子
2014/09/11 Javascript
jQuery实现瀑布流的取巧做法分享
2015/01/12 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
2016/03/22 Javascript
jQuery添加options点击事件并传值实例代码
2016/05/18 Javascript
改变checkbox默认选中状态及取值的实现代码
2016/05/26 Javascript
Node.js connect ECONNREFUSED错误解决办法
2016/09/15 Javascript
Jquery on绑定的事件 触发多次实例代码
2016/12/08 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
浅谈React组件之性能优化
2018/03/02 Javascript
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
详解JavaScript中操作符和表达式
2018/09/12 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
socket io与vue-cli的结合使用的示例代码
2018/11/01 Javascript
ligerUI的ligerDialog关闭刷新的方法
2019/09/27 Javascript
[58:12]Ti4第二日主赛事败者组 LGD vs iG 3
2014/07/21 DOTA
Python中格式化format()方法详解
2017/04/01 Python
Pytorch加载部分预训练模型的参数实例
2019/08/18 Python
css3利用transform变形结合事件完成扇形导航
2020/10/26 HTML / CSS
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
武汉东之林科技有限公司机试
2013/09/17 面试题
排序都有哪几种方法?请列举。用JAVA实现一个快速排序
2014/02/16 面试题
印刷工程专业应届生求职信
2013/09/29 职场文书
基督教婚礼主持词
2014/03/14 职场文书
名人演讲稿范文
2014/09/16 职场文书
师德承诺书2015
2015/04/28 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS