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 相关文章推荐
Django与JS交互的示例代码
Aug 23 Python
Python实现句子翻译功能
Nov 14 Python
Python判断两个对象相等的原理
Dec 12 Python
对python中的try、except、finally 执行顺序详解
Feb 18 Python
python程序变成软件的实操方法
Jun 24 Python
Python3中的最大整数和最大浮点数实例
Jul 09 Python
python快速编写单行注释多行注释的方法
Jul 31 Python
Python input函数使用实例解析
Nov 22 Python
mac使用python识别图形验证码功能
Jan 10 Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 Python
Python爬取英雄联盟MSI直播间弹幕并生成词云图
Jun 01 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 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
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
PHP mysql事务问题实例分析
2016/01/18 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
对字符串进行HTML编码和解码的JavaScript函数
2010/02/01 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
2010/08/10 Javascript
firefox下input type="file"的size是多大
2011/10/24 Javascript
jQuery 浮动导航菜单适合购物商品类型的网站
2014/09/09 Javascript
浅谈Javascript数据属性与访问器属性
2016/07/26 Javascript
AngularJS 中文API参考手册
2016/07/28 Javascript
jQuery Raty 一款不错的星级评分插件
2016/08/24 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
详解Vue生命周期的示例
2017/03/10 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
JQuery元素快速查找与操作
2018/04/22 jQuery
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
vue3.0 搭建项目总结(详细步骤)
2019/05/20 Javascript
JS实现滑动插件
2020/01/15 Javascript
Python实现程序的单一实例用法分析
2015/06/03 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
python中的yield from语法快速学习
2020/11/06 Python
python中pow函数用法及功能说明
2020/12/04 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
教师应聘个人求职信
2013/12/10 职场文书
销售人员自我评价
2014/02/01 职场文书
应聘医药销售自荐书范文
2014/02/08 职场文书
内乡县衙导游词
2015/02/05 职场文书
党员进社区活动总结
2015/05/07 职场文书
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
hive数据仓库新增字段方法
2022/06/25 数据库