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中的yield函数的用法
Apr 03 Python
python使用wxpython开发简单记事本的方法
May 20 Python
利用Python爬取微博数据生成词云图片实例代码
Aug 31 Python
Python实现的文本对比报告生成工具示例
May 22 Python
Django 多语言教程的实现(i18n)
Jul 07 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
django基础学习之send_mail功能
Aug 07 Python
python实现两个字典合并,两个list合并
Dec 02 Python
使用遗传算法求二元函数的最小值
Feb 11 Python
Python如何将图像音视频等资源文件隐藏在代码中(小技巧)
Feb 16 Python
pyinstaller打包成无控制台程序时运行出错(与popen冲突的解决方法)
Apr 15 Python
Python - 10行代码集2000张美女图
May 23 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
牡丹941资料
2021/03/01 无线电
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
让CodeIgniter的ellipsize()支持中文截断的方法
2014/06/12 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
php实现过滤表单提交中html标签的方法
2014/10/17 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
js为空或不是对象问题的快速解决方法
2013/12/11 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
html5+javascript实现简单上传的注意细节
2016/04/18 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
vue interceptor 使用教程实例详解
2018/09/13 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
编写Python的web框架中的Model的教程
2015/04/29 Python
在Python中操作字典之fromkeys()方法的使用
2015/05/21 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
Python实现识别手写数字大纲
2018/01/29 Python
人生苦短我用python python如何快速入门?
2018/03/12 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
Django对models里的objects的使用详解
2019/08/17 Python
在Pytorch中计算自己模型的FLOPs方式
2019/12/30 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
python 通过exifread读取照片信息
2020/12/24 Python
意大利宠物用品购物网站:Bauzaar
2018/09/15 全球购物
公司财务总监岗位职责
2013/12/14 职场文书
社团活动策划书范文
2014/01/09 职场文书
Canvas如何做个雪花屏版404的实现
2021/09/25 HTML / CSS