Python实现字典按key或者value进行排序操作示例【sorted】


Posted in Python onMay 03, 2019

本文实例讲述了Python实现字典按key或者value进行排序操作。分享给大家供大家参考,具体如下:

要点:使用到了python的内建函数与lambda函数

代码如下:(可直接复制运行)

# -*- coding:utf-8 -*-
#! python2
print '------定义一个字典d1---------------------------------------'
d1 = {'a':14, 'c':12, 'b':11, 'e':13, 'f':16, 'd':15}
print '------打印d1---------------------------------------'
print d1
print '------遍历字典d1---------------------------------------'
for i in d1:
  print i
print '------遍历字典d1---------------------------------------'
for temp in d1.items():
  print temp
print '------遍历字典的key---------------------------------------'
for key,value in d1.items():
  print key
print '------遍历字典的value---------------------------------------'
for key,value in d1.items():
  print value
print '------遍历字典的key和value---------------------------------------'
for key,value in d1.items():
  print key,value
print '---------------------------------------------'
print '---------------------------------------------'
#
print '------d1.items()与其类型展示---------------------------------------'
res = d1.items()
print 'res = ',res, '\nres type is',type(res)
print '------d1.iteritems()与其类型展示---------------------------------------'
res2 = d1.iteritems()
print 'res = ',res2, '\nres2 type is',type(res2)
print '------d1按value排序(正序:从小到大)---------------------------------------'
res3 = sorted(d1.iteritems(), key=lambda d:d[1], reverse=False)
print 'res3 = ',res3
print '------d1按value排序(倒序:从大到小)---------------------------------------'
res4 = sorted(d1.iteritems(), key=lambda d:d[1], reverse=True)
print 'res4 = ',res4
print '------d1按key排序(倒序:从大到小)---------------------------------------'
res5 = sorted(d1.iteritems(), key=lambda d:d[0], reverse=True)
print 'res5 = ',res5
print '------d1按key排序(正序:从小到大)---------------------------------------'
res6 = sorted(d1.iteritems(), key=lambda d:d[0], reverse=False)
print 'res6 = ',res6
print '------d1中取出key排序后生成一个列表---------------------------------------'
res7 = [key for key,value in res6] # 注:res6是d1按key排序(正序:从小到大)的结果
print 'res7 = ',res7
print '------d1中取出value排序后生成一个列表---------------------------------------'
res8= [value for key,value in res3] # 注:res3是d1按value排序(正序:从小到大)的结果
print 'res8 = ',res8

运行结果:

------定义一个字典d1---------------------------------------
------打印d1---------------------------------------
{'a': 14, 'c': 12, 'b': 11, 'e': 13, 'd': 15, 'f': 16}
------遍历字典d1---------------------------------------
a
c
b
e
d
f
------遍历字典d1---------------------------------------
('a', 14)
('c', 12)
('b', 11)
('e', 13)
('d', 15)
('f', 16)
------遍历字典的key---------------------------------------
a
c
b
e
d
f
------遍历字典的value---------------------------------------
14
12
11
13
15
16
------遍历字典的key和value---------------------------------------
a 14
c 12
b 11
e 13
d 15
f 16
---------------------------------------------
---------------------------------------------
------d1.items()与其类型展示---------------------------------------
res =  [('a', 14), ('c', 12), ('b', 11), ('e', 13), ('d', 15), ('f', 16)]
res type is <type 'list'>
------d1.iteritems()与其类型展示---------------------------------------
res =  <dictionary-itemiterator object at 0x01271E40>
res2 type is <type 'dictionary-itemiterator'>
------d1按value排序(正序:从小到大)---------------------------------------
res3 =  [('b', 11), ('c', 12), ('e', 13), ('a', 14), ('d', 15), ('f', 16)]
------d1按value排序(倒序:从大到小)---------------------------------------
res4 =  [('f', 16), ('d', 15), ('a', 14), ('e', 13), ('c', 12), ('b', 11)]
------d1按key排序(倒序:从大到小)---------------------------------------
res5 =  [('f', 16), ('e', 13), ('d', 15), ('c', 12), ('b', 11), ('a', 14)]
------d1按key排序(正序:从小到大)---------------------------------------
res6 =  [('a', 14), ('b', 11), ('c', 12), ('d', 15), ('e', 13), ('f', 16)]
------d1中取出key排序后生成一个列表---------------------------------------
res7 =  ['a', 'b', 'c', 'd', 'e', 'f']
------d1中取出value排序后生成一个列表---------------------------------------
res8 =  [11, 12, 13, 14, 15, 16]

Python 相关文章推荐
python中常用的九种预处理方法分享
Sep 11 Python
Python类属性的延迟计算
Oct 22 Python
Python中使用支持向量机SVM实践
Dec 27 Python
python re库的正则表达式入门学习教程
Mar 08 Python
浅谈python中get pass用法
Mar 19 Python
Python3.5多进程原理与用法实例分析
Apr 05 Python
python识别图像并提取文字的实现方法
Jun 28 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
python opencv pytesseract 验证码识别的实现
Aug 28 Python
Python 文本滚动播放器的实现代码
Apr 25 Python
Python基础之赋值,浅拷贝,深拷贝的区别
Apr 30 Python
Python3模拟curl发送post请求操作示例
May 03 #Python
零基础使用Python读写处理Excel表格的方法
May 02 #Python
Python TestCase中的断言方法介绍
May 02 #Python
Python3中的bytes和str类型详解
May 02 #Python
利用pyinstaller打包exe文件的基本教程
May 02 #Python
Python中psutil的介绍与用法
May 02 #Python
Python3.5字符串常用操作实例详解
May 01 #Python
You might like
PHP 彩色文字实现代码
2009/06/29 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
PHP仿微信多图片预览上传实例代码
2016/09/13 PHP
php opendir()列出目录下所有文件的实例代码
2016/10/02 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
JavaScript 字符串与数组转换函数[不用split与join]
2009/12/13 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
javascript 函数参数限制说明
2010/11/19 Javascript
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
javascript正则表达式中的replace方法详解
2015/04/20 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
基于vue cli 通过命令行传参实现多环境配置
2018/07/12 Javascript
jQuery的Ajax接收java返回数据方法
2018/08/11 jQuery
Bootstrap fileinput 上传新文件移除时触发服务器同步删除的配置
2018/10/08 Javascript
小程序外卖订单界面的示例代码
2019/12/30 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
从零学Python之入门(三)序列
2014/05/25 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
基于python实现自动化办公学习笔记(CSV、word、Excel、PPT)
2019/08/06 Python
python数据处理——对pandas进行数据变频或插值实例
2020/04/22 Python
Pycharm中使用git进行合作开发的教程详解
2020/11/17 Python
Flask-SocketIO服务端安装及使用代码示例
2020/11/26 Python
HTML5 解析规则分析
2009/08/14 HTML / CSS
门卫工作岗位职责
2013/12/17 职场文书
期末学生评语大全
2014/04/24 职场文书
数字化校园建设方案
2014/05/03 职场文书
2014年感恩节活动策划方案
2014/10/06 职场文书
教师师德师风整改措施
2014/10/24 职场文书
继续教育个人总结
2015/03/03 职场文书
挂职锻炼个人总结
2015/03/05 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
小学班级管理心得体会
2016/01/07 职场文书
python for循环赋值问题
2021/06/03 Python