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 httplib,smtplib使用方法
Sep 06 Python
python将文本转换成图片输出的方法
Apr 28 Python
在Python程序中操作文件之isatty()方法的使用教程
May 24 Python
python学习笔记之调用eval函数出现invalid syntax错误问题
Oct 18 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
django2.2 和 PyMySQL版本兼容问题
Feb 17 Python
Python语法垃圾回收机制原理解析
Mar 25 Python
Python调用C语言程序方法解析
Jul 07 Python
Python爬虫自动化获取华图和粉笔网站的错题(推荐)
Jan 08 Python
详解使用python爬取抖音app视频(appium可以操控手机)
Jan 26 Python
python中的unittest框架实例详解
Feb 05 Python
Python insert() / append() 用法 Leetcode实战演示
Mar 31 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的宝库目录--PEAR
2006/10/09 PHP
基于PHP+Ajax实现表单验证的详解
2013/06/25 PHP
php注册系统和使用Xajax即时验证用户名是否被占用
2017/08/31 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
JQuery动态给table添加、删除行 改进版
2011/01/19 Javascript
解决JS中乘法的浮点错误的方法
2014/01/03 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
调整小数的格式保留小数点后两位
2014/05/14 Javascript
通过jquery 获取URL参数并进行转码
2014/08/18 Javascript
jquery实现表格本地排序的方法
2015/03/11 Javascript
javascript实现右侧弹出“分享到”窗口效果
2016/02/01 Javascript
jQuery改变form表单的action,并进行提交的实现代码
2016/05/25 Javascript
AngularJS使用ng-options指令实现下拉框
2016/08/23 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
Vue框架中正确引入JS库的方法介绍
2017/07/30 Javascript
jQuery获取复选框选中的当前行的某个字段的值
2017/09/15 jQuery
Webpack中雪碧图插件使用详解
2018/05/25 Javascript
Python中的元组介绍
2019/01/28 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
Matplotlib配色之Colormap详解
2021/01/05 Python
HTML5响应式(自适应)网页设计的实现
2017/11/17 HTML / CSS
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
南京某公司笔试题
2013/01/27 面试题
幼儿教师研修感言
2014/02/12 职场文书
爽歪歪广告词
2014/03/20 职场文书
六个一活动实施方案
2014/03/21 职场文书
《荷花》教学反思
2014/04/16 职场文书
5s推行计划书
2014/05/06 职场文书
关于孝道的演讲稿
2014/05/21 职场文书
综艺节目策划方案
2014/06/13 职场文书
松材线虫病防治方案
2014/06/15 职场文书
公务员处分决定书
2015/06/25 职场文书
自考生自我评价
2019/06/21 职场文书
Java基于字符界面的简易收银台
2021/06/26 Java/Android
Python 的演示平台支持 WSGI 接口的应用
2022/04/20 Python