python 使用值来排序一个字典的方法


Posted in Python onNovember 16, 2018

下面先看下python 使用值排序字典的方法

In [8]: a={'x':11,'y':22,'c':4}
In [9]: import operator
In [10]: sorted(a.items(),key=operator.itemgetter(1))
Out[10]: [('c', 4), ('x', 11), ('y', 22)]
In [11]: a={'x':11,'y':22,'c':4}
In [12]: sorted(a.items(),key=lambda x:x[1])
Out[12]: [('c', 4), ('x', 11), ('y', 22)]

sort 方法会就地排序列表,不会把原列表复制一份

sorted 会新建一个列表作为返回值,接受任何形式的可迭代对象作为参数

sorted 和 sort的可选参数:

reverse  默认为False,如果设置为True则降序排列

      key 这个是一个只有一个参数的函数,会应用到序列中的每一个元素上,如果key=len,就会按照字符串的长度排序

补充:下面看下Python字典按值排序的方法

法1: (默认升序排序,加  reverse = True 指定为降序排序)

# sorted的结果是一个list
  dic1SortList = sorted( dic1.items(),key = lambda x:x[1],reverse = True)

法2:

import operator
sorted_x = sorted(d.items(),key = operator.itemgetter(1))

法3:包含字典dict的列表list的排序方法与dict的排序类似,如下: 

x = [{'name':'Homer', 'age':39}, {'name':'Bart', 'age':10}] 
sorted_x = sorted(x, key=operator.itemgetter('name')) 
print sorted_x 
#[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}] 
sorted_x = sorted(x, key=operator.itemgetter('name'), reverse=True) 
print sorted_x 
#[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}] 
sorted_x = sorted(x, key=lambda x : x['name']) 
print sorted_x 
#[{'age': 10, 'name': 'Bart'}, {'age': 39, 'name': 'Homer'}] 
sorted_x = sorted(x, key=lambda x : x['name'], reverse=True) 
print sorted_x 
#[{'age': 39, 'name': 'Homer'}, {'age': 10, 'name': 'Bart'}]

总结

以上所述是小编给大家介绍的python 使用值来排序一个字典的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python ip正则式
May 07 Python
Python os模块学习笔记
Jun 21 Python
关于Django外键赋值问题详解
Aug 13 Python
Python异常处理操作实例详解
Aug 28 Python
spark dataframe 将一列展开,把该列所有值都变成新列的方法
Jan 29 Python
用django-allauth实现第三方登录的示例代码
Jun 24 Python
Cython编译python为so 代码加密示例
Dec 23 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
python中68个内置函数的总结与介绍
Feb 24 Python
在Python中实现字典反转案例
Dec 05 Python
Elasticsearch 数据类型及管理
Apr 19 Python
Python可视化神器pyecharts之绘制箱形图
Jul 07 Python
pandas通过索引进行排序的示例
Nov 16 #Python
在pandas多重索引multiIndex中选定指定索引的行方法
Nov 16 #Python
对Pandas MultiIndex(多重索引)详解
Nov 16 #Python
一百行python代码将图片转成字符画
Feb 19 #Python
Pandas GroupBy对象 索引与迭代方法
Nov 16 #Python
python实现指定字符串补全空格、前面填充0的方法
Nov 16 #Python
pandas 透视表中文字段排序方法
Nov 16 #Python
You might like
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
IE8下关于querySelectorAll()的问题
2010/05/13 Javascript
Javascript 面向对象编程(coolshell)
2012/03/18 Javascript
javascript 在firebug调试时用console.log的方法
2012/05/10 Javascript
js自动闭合html标签(自动补全html标记)
2012/10/04 Javascript
js事件(Event)知识整理
2012/10/11 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
jQuery使用addClass()方法给元素添加多个class样式
2015/03/26 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
2015/09/01 Javascript
使用javaScript动态加载Js文件和Css文件
2015/10/24 Javascript
Bootstrap教程JS插件滚动监听学习笔记分享
2016/05/18 Javascript
JavaScript实现父子dom同时绑定两个点击事件,一个用捕获,一个用冒泡时执行顺序的方法
2017/03/30 Javascript
jquery.guide.js新版上线操作向导镂空提示jQuery插件(推荐)
2017/05/20 jQuery
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
node.js 模块和其下载资源的镜像设置的方法
2018/09/06 Javascript
搭建一个nodejs脚手架的方法步骤
2019/06/28 NodeJs
layui添加动态菜单与选项卡
2019/07/26 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
vue组件传值的实现方式小结【三种方式】
2020/02/05 Javascript
[01:00:22]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第三场 1月10日
2021/03/11 DOTA
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
wxpython中Textctrl回车事件无效的解决方法
2016/07/21 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Python使用selenium + headless chrome获取网页内容的方法示例
2019/10/16 Python
Python callable内置函数原理解析
2020/03/05 Python
python算的上脚本语言吗
2020/06/22 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
台湾百利市购物中心:e-Payless
2017/08/16 全球购物
纯净、自信、100%的羊绒服装:360Cashmere
2021/02/20 全球购物
2019年分享net面试的经历和题目
2016/08/07 面试题
学院领导推荐信
2013/10/30 职场文书
车工岗位职责
2013/11/26 职场文书
销售主管竞聘书
2014/03/31 职场文书
Golang 字符串的常见操作
2022/04/19 Golang