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获取Linux系统的各种信息
Jul 10 Python
跟老齐学Python之Import 模块
Oct 13 Python
python设计模式大全
Jun 27 Python
谈谈python中GUI的选择
Mar 01 Python
python3+PyQt5实现自定义窗口部件Counters
Apr 20 Python
python调用百度语音REST API
Aug 30 Python
python 对多个csv文件分别进行处理的方法
Jan 07 Python
Python进阶之使用selenium爬取淘宝商品信息功能示例
Sep 16 Python
详解python中eval函数的作用
Oct 22 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
Feb 18 Python
Python OpenCV快速入门教程
Apr 17 Python
pandas中DataFrame数据合并连接(merge、join、concat)
May 30 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中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
php魔术变量用法实例详解
2014/11/13 PHP
PHP读取txt文本文件并分页显示的方法
2015/03/11 PHP
php实现Session存储到Redis
2015/11/11 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
Js 中debug方式
2010/02/07 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
jquery1.5.1中根据元素ID获取元素对象的代码
2011/04/02 Javascript
caller和callee的区别介绍及演示结果
2013/03/10 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
Jquery插件easyUi实现表单验证示例
2015/12/15 Javascript
微信小程序 wxapp画布 canvas详细介绍
2016/10/31 Javascript
JS文件中加载jquery.js的实例代码
2018/05/05 jQuery
微信小程序实现日历功能
2018/11/27 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
解决antd Form 表单校验方法无响应的问题
2020/10/27 Javascript
vue用ant design中table表格,点击某行时触发的事件操作
2020/10/28 Javascript
Python 初始化多维数组代码
2008/09/06 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
Django rest framework基本介绍与代码示例
2018/01/26 Python
Python实现随机创建电话号码的方法示例
2018/12/07 Python
python画图的函数用法以及技巧
2019/06/28 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
python 获取字典键值对的实现
2020/11/12 Python
html5 标签
2009/07/16 HTML / CSS
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
日本最新流行服饰网购:Nissen
2016/07/24 全球购物
汽车检测与维修个人求职信
2013/09/24 职场文书
篝火晚会策划方案
2014/05/16 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
Python利用folium实现地图可视化
2021/05/23 Python
关于python中模块和重载的问题
2021/11/02 Python
古见同学有交流障碍症 第二季宣传CM公开播出
2022/04/11 日漫
手把手带你彻底卸载MySQL数据库
2022/06/14 MySQL
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL