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制作获取网站目录的图形化程序
May 04 Python
Python中的descriptor描述器简明使用指南
Jun 02 Python
浅谈五大Python Web框架
Mar 20 Python
python学习必备知识汇总
Sep 08 Python
python SSH模块登录,远程机执行shell命令实例解析
Jan 12 Python
浅析Python 实现一个自动化翻译和替换的工具
Apr 14 Python
Python 窗体(tkinter)按钮 位置实例
Jun 13 Python
Python实现12306火车票抢票系统
Jul 04 Python
Python使用itchat 功能分析微信好友性别和位置
Aug 05 Python
3行Python代码实现图像照片抠图和换底色的方法
Oct 10 Python
Python类super()及私有属性原理解析
Jun 15 Python
基于Python爬取京东双十一商品价格曲线
Oct 23 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
BBS(php & mysql)完整版(二)
2006/10/09 PHP
如何将数据从文本导入到mysql
2006/10/09 PHP
laravel容器延迟加载以及auth扩展详解
2015/03/02 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
多个Laravel项目如何共用migrations详解
2018/09/25 PHP
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
js或css实现滚动广告的几种方案
2010/01/28 Javascript
读jQuery之十 事件模块概述
2011/06/27 Javascript
jQuery学习笔记之jQuery动画效果
2013/09/09 Javascript
jQuery选择器源码解读(三):tokenize方法
2015/03/31 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
详解vue-cli构建项目反向代理配置
2017/09/07 Javascript
JS 音频可视化插件Wavesurfer.js的使用教程
2018/10/31 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
详解Python中的type()方法的使用
2015/05/21 Python
python 网络编程常用代码段
2016/08/28 Python
python difflib模块示例讲解
2017/09/13 Python
python之PyQt按钮右键菜单功能的实现代码
2019/08/17 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
Python搭建代理IP池实现检测IP的方法
2019/10/27 Python
使用python自动追踪你的快递(物流推送邮箱)
2020/03/17 Python
Python运行提示缺少模块问题解决方案
2020/04/02 Python
css3通过scale()、rotate()实现放大、旋转
2020/03/19 HTML / CSS
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
Parfumdreams芬兰:购买香水和化妆品
2021/02/13 全球购物
创联软件面试题笔试题
2012/10/07 面试题
后勤部长岗位职责
2013/12/14 职场文书
大学共青团员个人自我评价
2014/04/16 职场文书
读书伴我成长演讲稿
2014/05/07 职场文书
英文慰问信
2015/02/14 职场文书
护士自荐信范文
2015/03/25 职场文书
论文答辩开场白大全
2015/05/27 职场文书
风之谷观后感
2015/06/11 职场文书