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图像灰度变换及图像数组操作
Jan 27 Python
Android模拟器无法启动,报错:Cannot set up guest memory ‘android_arm’ Invalid argument的解决方法
Jul 01 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
Python爬虫之正则表达式基本用法实例分析
Aug 08 Python
python 批量解压压缩文件的实例代码
Jun 27 Python
Python  Django 母版和继承解析
Aug 09 Python
python+selenium 点击单选框-radio的实现方法
Sep 03 Python
python matplotlib实现将图例放在图外
Apr 17 Python
Python CSS选择器爬取京东网商品信息过程解析
Jun 01 Python
Python利用myqr库创建自己的二维码
Nov 24 Python
python实现简单区块链结构
Apr 25 Python
python内置模块之上下文管理contextlib
Jun 14 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
用文本文件制作留言板提示(上)
2006/10/09 PHP
CI(CodeIgniter)框架配置
2014/06/10 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
PHP验证码类ValidateCode解析
2017/01/07 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
JavaScript和ActionScript的交互实现代码
2010/08/01 Javascript
判断文档离浏览器顶部的距离的方法
2014/01/08 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
2017/09/12 jQuery
angular5 httpclient的示例实战
2018/03/12 Javascript
vue v-model实现自定义样式多选与单选功能
2018/07/05 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
JS回调函数 callback的理解与使用案例分析
2019/09/09 Javascript
layui原生表单验证的实例
2019/09/09 Javascript
详解小程序如何改变onLoad的执行时机
2019/11/01 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
mac下pycharm设置python版本的图文教程
2018/06/13 Python
在Python中增加和插入元素的示例
2018/11/01 Python
Python判断telnet通不通的实例
2019/01/26 Python
python解压TAR文件至指定文件夹的实例
2019/06/10 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
python的scipy实现插值的示例代码
2019/11/12 Python
Jupyter Notebook远程登录及密码设置操作
2020/04/10 Python
python 字典item与iteritems的区别详解
2020/04/25 Python
就业意向书范文
2014/04/01 职场文书
逃课打麻将检讨书
2014/10/05 职场文书
通知格式
2015/04/27 职场文书
教师创先争优承诺书
2015/04/27 职场文书
技术转让协议书
2016/03/19 职场文书
Java8中Stream的一些神操作
2021/11/02 Java/Android
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers