Python实现对字典分别按键(key)和值(value)进行排序的方法分析


Posted in Python onDecember 19, 2018

本文实例讲述了Python实现对字典分别按键(key)和值(value)进行排序的方法。分享给大家供大家参考,具体如下:

方法一:

#使用sorted函数进行排序
'''
sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数;
其中iterable表示可以迭代的对象,例如可以是dict.items()、dict.keys()等
key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,reverse=true则是倒序,
reverse=false时则是顺序,默认时reverse=false。
'''
#初始化字典
dict_data={6:9,10:5,3:11,8:2,7:6}

1、对字典按键(key)进行排序

#对字典按键(key)进行排序(默认由小到大)
test_data_0=sorted(dict_data.keys())
#输出结果
print(test_data_0) #[3, 6, 7, 8, 10]
test_data_1=sorted(dict_data.items(),key=lambda x:x[0])
#输出结果
print(test_data_1) #[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]

2、对字典按值(value)进行排序

#对字典按值(value)进行排序(默认由小到大)
test_data_2=sorted(dict_data.items(),key=lambda x:x[1])
#输出结果
print(test_data_2) #[('8', 2), ('10', 5), ('7', 6), ('6', 9), ('3', 11)]
test_data_3=sorted(dict_data.items(),key=lambda x:x[1],reverse=True)
#输出结果
print(test_data_3) #[('3', 11), ('6', 9), ('7', 6), ('10', 5), ('8', 2)]

方法二:

import operator
#初始化字典
dict_data={6:9,10:5,3:11,8:2,7:6}
#按键(key)进行排序
test_data_4=sorted(dict_data.items(),key=operator.itemgetter(0))
test_data_5=sorted(dict_data.items(),key=operator.itemgetter(0),reverse=True)
print(test_data_4) #[(3, 11), (6, 9), (7, 6), (8, 2), (10, 5)]
print(test_data_5) #[(10, 5), (8, 2), (7, 6), (6, 9), (3, 11)]
#按值(value)进行排序
test_data_6=sorted(dict_data.items(),key=operator.itemgetter(1))
test_data_7=sorted(dict_data.items(),key=operator.itemgetter(1),reverse=True)
print(test_data_6) #[(8, 2), (10, 5), (7, 6), (6, 9), (3, 11)]
print(test_data_7) #[(3, 11), (6, 9), (7, 6), (10, 5), (8, 2)]

附:operator库常用函数说明

操作 语法 函数
相加 a + b add(a, b)
字符串拼接 seq1 + seq2 concat(seq1, seq2)
包含测试 obj in seq contains(seq, obj)
普通除法 a / b truediv(a, b)
取整除法 a // b floordiv(a, b)
按位与 a & b and_(a, b)
按位异或 a ^ b xor(a, b)
按位取反 ~ a invert(a)
按位或 a | b or_(a, b)
指数运算 a ** b pow(a, b)
识别 a is b is_(a, b)
识别 a is not b is_not(a, b)
索引赋值 obj[k] = v setitem(obj, k, v)
索引删除 del obj[k] delitem(obj, k)
索引 obj[k] getitem(obj, k)
左移 lshift(a, b)
取模 a % b mod(a, b)
乘法 a * b mul(a, b)
负数 -a neg(a)
非运算 not a not_(a)
正数 + a pos(a)
右移运算 a >> b rshift(a, b)
切片赋值 seq[i:j] = values setitem(seq, slice(i, j), values)
切片删除 del seq[i:j] delitem(seq, slice(i, j))
切片 seq[i: j] getitem(seq, slice(i, j))
字符串格式化 s % obj mod(s, obj)
减法 a - b sub(a, b)
真值测试 obj truth(obj)
小于 lt(a, b)
小于等于 le(a, b)
等于 a == b eq(a, b)
不等于 a != b ne(a, b)
大于等于 a >= b ge(a, b)
大于 a > b gt(a, b)
Python 相关文章推荐
python爬虫教程之爬取百度贴吧并下载的示例
Mar 07 Python
Python三元运算实现方法
Jan 12 Python
Python中的index()方法使用教程
May 18 Python
Python删除n行后的其他行方法
Jan 28 Python
使用python进行波形及频谱绘制的方法
Jun 17 Python
Python OpenCV中的resize()函数的使用
Jun 20 Python
python 日期排序的实例代码
Jul 11 Python
python 利用pyttsx3文字转语音过程详解
Sep 25 Python
Pandas操作CSV文件的读写实现方法
Nov 13 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
Jul 20 Python
python把一个字符串切开的实例方法
Sep 27 Python
Python与C++中梯度方向直方图的实现
Mar 17 Python
对json字符串与python字符串的不同之处详解
Dec 19 #Python
浅谈Python接口对json串的处理方法
Dec 19 #Python
python实现的MySQL增删改查操作实例小结
Dec 19 #Python
python3 http提交json参数并获取返回值的方法
Dec 19 #Python
python3.6使用urllib完成下载的实例
Dec 19 #Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 #Python
对python内置map和six.moves.map的区别详解
Dec 19 #Python
You might like
function.inc.php超越php
2006/12/09 PHP
php array_intersect()函数使用代码
2009/01/14 PHP
PHP 中文处理技巧
2010/04/25 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
cookie丢失问题(认证失效) Authentication (用户验证信息)也会丢失
2009/06/04 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
使用vue.js2.0 + ElementUI开发后台管理系统详细教程(二)
2017/01/21 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
2018/08/25 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
小程序input数据双向绑定实现方法
2019/10/17 Javascript
vue路由拦截器和请求拦截器知识点总结
2019/11/08 Javascript
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
python DataFrame 修改列的顺序实例
2018/04/10 Python
python sorted函数的小练习及解答
2019/09/18 Python
python正则过滤字母、中文、数字及特殊字符方法详解
2020/02/11 Python
python离线安装外部依赖包的实现
2020/02/13 Python
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
新闻学专业个人求职信写作
2014/02/04 职场文书
师德建设实施方案
2014/03/21 职场文书
政治学求职信
2014/06/03 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
国际商务英语专业求职信
2014/07/08 职场文书
甘南现象心得体会
2014/09/11 职场文书
党员批评与自我批评思想汇报(集锦)
2014/09/14 职场文书
保险公司反洗钱宣传活动总结
2015/05/08 职场文书
PHP使用非对称加密算法RSA
2021/04/21 PHP
Nginx进程调度问题详解
2021/09/25 Servers
在 Python 中利用 Pool 进行多线程
2022/04/24 Python
深入理解 Golang 的字符串
2022/05/04 Golang
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技