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 相关文章推荐
Python3 入门教程 简单但比较不错
Nov 29 Python
Python里隐藏的“禅”
Jun 16 Python
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
python类继承与子类实例初始化用法分析
Apr 17 Python
python虚拟环境virtualenv的安装与使用
Sep 21 Python
Python_LDA实现方法详解
Oct 25 Python
PYTHON基础-时间日期处理小结
May 05 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
使用Python将字符串转换为格式化的日期时间字符串
Sep 01 Python
python模块如何查看
Jun 16 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 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大文件及断点续传下载实现代码
2020/08/18 PHP
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
基于jquery的表格排序
2010/09/11 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
2014/05/07 Javascript
javascript浏览器兼容教程之事件处理
2014/06/09 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
Vue2.0 UI框架ElementUI使用方法详解
2017/04/14 Javascript
vue 监听键盘回车事件详解 @keyup.enter || @keyup.enter.native
2018/08/25 Javascript
mpvue中使用flyjs全局拦截的实现代码
2018/09/13 Javascript
浅谈Vue.js 关于页面加载完成后执行一个方法的问题
2019/04/01 Javascript
JS代码检查工具ESLint介绍与使用方法
2020/02/04 Javascript
使用webpack搭建pixi.js开发环境
2020/02/12 Javascript
加速vue组件渲染之性能优化
2020/04/09 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
Ubuntu下安装PyV8
2016/03/13 Python
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
Python 面试中 8 个必考问题
2018/11/16 Python
python最小生成树kruskal与prim算法详解
2019/01/17 Python
python pandas生成时间列表
2019/06/29 Python
django迁移数据库错误问题解决
2019/07/29 Python
python2和python3应该学哪个(python3.6与python3.7的选择)
2019/10/01 Python
python模块导入的方法
2019/10/24 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
飞利浦西班牙官方网站:Philips西班牙
2020/02/17 全球购物
应届毕业生简历自我评价
2014/01/31 职场文书
班级课外活动总结
2014/07/09 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
防火标语大全
2014/10/06 职场文书
2015年宣传部部长竞选演讲稿
2014/11/28 职场文书
Vue Element-ui表单校验规则实现
2021/07/09 Vue.js