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 23 Python
python模拟登陆阿里妈妈生成商品推广链接
Apr 03 Python
python实现中文转换url编码的方法
Jun 14 Python
Python配置mysql的教程(推荐)
Oct 13 Python
pygame游戏之旅 添加键盘按键的方法
Nov 20 Python
基于Python的Post请求数据爬取的方法详解
Jun 14 Python
简单了解python协程的相关知识
Aug 31 Python
Python多线程thread及模块使用实例
Apr 28 Python
读取nii或nii.gz文件中的信息即输出图像操作
Jul 01 Python
Python eval函数原理及用法解析
Nov 14 Python
pytorch实现手写数字图片识别
May 20 Python
Keras多线程机制与flask多线程冲突的解决方案
May 28 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.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
2012/07/01 PHP
PHP开发中AJAX技术的简单应用
2015/12/11 PHP
php使用ffmpeg向视频中添加文字字幕的实现方法
2016/05/23 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
Thinkphp5.0 框架的请求方式与响应方式分析
2019/10/14 PHP
treepanel动态加载数据实现代码
2012/12/15 Javascript
jquery如何把参数列严格转换成数组实现思路
2013/04/01 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
js中typeof的用法汇总
2013/12/12 Javascript
node.js中的path.dirname方法使用说明
2014/12/09 Javascript
jQuery使用load()方法载入另外一个网页文件内的指定标签内容到div标签的方法
2015/03/25 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
JS实现的表头列头固定页面功能示例
2017/01/10 Javascript
微信小程序表单验证form提交错误提示效果
2020/06/19 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
python通过ssh-powershell监控windows的方法
2015/06/02 Python
对Python 窗体(tkinter)树状数据(Treeview)详解
2018/10/11 Python
利用Python校准本地时间的方法教程
2019/10/31 Python
详解opencv中画圆circle函数和椭圆ellipse函数
2019/12/27 Python
js实现移动端H5页面手指滑动刻度尺功能
2017/11/16 HTML / CSS
中专毕业生自我鉴定
2013/11/21 职场文书
总经理助理的职责
2014/03/14 职场文书
旅游节目策划方案
2014/05/26 职场文书
解除施工合同协议书
2014/10/17 职场文书
2014旅游局党组书记党建工作汇报材料
2014/11/02 职场文书
模范班主任事迹材料
2014/12/17 职场文书
党校学习党性分析材料
2014/12/19 职场文书
监理中标通知书
2015/04/16 职场文书
导游词之清晏园
2019/11/22 职场文书
用Python远程登陆服务器的步骤
2021/04/16 Python
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
详解Python函数print用法
2021/06/18 Python
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS
【海涛解说】暗牧也疯狂,牛蛙成配角
2022/04/01 DOTA