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学习笔记 下载
Feb 10 Python
python将ansible配置转为json格式实例代码
May 15 Python
Python实现完整的事务操作示例
Jun 20 Python
Python基础之getpass模块详细介绍
Aug 10 Python
Python编程实现双链表,栈,队列及二叉树的方法示例
Nov 01 Python
Python爬虫实现简单的爬取有道翻译功能示例
Jul 13 Python
python opencv实现旋转矩形框裁减功能
Jul 25 Python
Python实现八皇后问题示例代码
Dec 09 Python
对python以16进制打印字节数组的方法详解
Jan 24 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
python线程优先级队列知识点总结
Feb 28 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
php对称加密算法示例
2014/05/07 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
php使用PDO方法详解
2014/12/27 PHP
php文件上传类完整实例
2016/05/14 PHP
工作需要写的一个js拖拽组件
2011/07/28 Javascript
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
nodejs教程之制作一个简单的文章发布系统
2014/11/21 NodeJs
JavaScript中的闭包介绍
2015/03/15 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
nodejs操作mongodb的增删改查功能实例
2017/11/09 NodeJs
教你如何编写Vue.js的单元测试的方法
2018/10/17 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
vue实现在线学生录入系统
2020/05/30 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
如何通过50行Python代码获取公众号全部文章
2019/07/12 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
Prototype如何实现页面局部定时刷新
2013/08/06 面试题
英语系本科生求职信范文
2013/12/18 职场文书
深入开展党的群众路线教育实践活动方案
2014/02/04 职场文书
北体毕业生求职信
2014/02/28 职场文书
中学生教师节演讲稿
2014/09/03 职场文书
竞聘报告优秀范文
2014/11/06 职场文书
2014年幼儿园个人工作总结
2014/11/10 职场文书
社区国庆节活动总结
2015/03/23 职场文书
质检员岗位职责范本
2015/04/07 职场文书
2015小学音乐教师个人工作总结
2015/07/21 职场文书
导游词之神仙居景区
2019/11/15 职场文书