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实现简单温度转换的方法
Mar 13 Python
浅谈Python中函数的参数传递
Jun 21 Python
pandas按若干个列的组合条件筛选数据的方法
Apr 11 Python
Python中的二维数组实例(list与numpy.array)
Apr 13 Python
python 日期操作类代码
May 05 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
对Python3.x版本print函数左右对齐详解
Dec 22 Python
pyqt5使用按钮进行界面的跳转方法
Jun 19 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
详解Django配置优化方法
Nov 18 Python
python实现简单坦克大战
Mar 27 Python
基于python的matplotlib制作双Y轴图
Apr 20 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
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
在数据量大(超过10万)的情况下
2007/01/15 PHP
从一个不错的留言本弄的mysql数据库操作类
2007/09/02 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
JS获取url链接字符串 location.href
2013/12/23 Javascript
nodejs批量修改文件编码格式
2015/01/22 NodeJs
javascript操作符"!~"详解
2015/02/10 Javascript
AngularJS使用ngOption实现下拉列表的实例代码
2016/01/23 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
2017/08/10 Javascript
ajax+node+request爬取网络图片的实例(宅男福利)
2017/08/28 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
python去除文件中空格、Tab及回车的方法
2016/04/12 Python
Python中.py文件打包成exe可执行文件详解
2017/03/22 Python
对pandas写入读取h5文件的方法详解
2018/12/28 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
Python hashlib模块加密过程解析
2019/11/05 Python
python对数组进行排序,并输出排序后对应的索引值方式
2020/02/28 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
2020/11/17 Python
手把手教你配置JupyterLab 环境的实现
2021/02/02 Python
品牌宣传方案
2014/03/21 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
教师节校长致辞
2015/07/31 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
logback 实现给变量指定默认值
2021/08/30 Java/Android
java实现web实时消息推送的七种方案
2022/07/23 Java/Android