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实现中文分词FMM算法实例
Jul 10 Python
virtualenv实现多个版本Python共存
Aug 21 Python
Selenium定位元素操作示例
Aug 10 Python
Python制作动态字符图的实例
Jan 27 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
django框架ModelForm组件用法详解
Dec 11 Python
Opencv图像处理:如何判断图片里某个颜色值占的比例
Jun 03 Python
python numpy实现rolling滚动案例
Jun 08 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
python中子类与父类的关系基础知识点
Feb 02 Python
python反编译教程之2048小游戏实例
Mar 03 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
一个高ai的分页函数和一个url函数
2006/10/09 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
phpstudy默认不支持64位php的解决方法
2017/02/20 PHP
破除网页鼠标右键被禁用的绝招大全
2006/12/27 Javascript
jQuery中add()方法用法实例
2015/01/08 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
js实现可折叠展开的手风琴菜单效果
2015/09/07 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
jQuery事件用法详解
2016/10/06 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
element ui里dialog关闭后清除验证条件方法
2018/02/26 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
ant design vue中表格指定格式渲染方式
2020/10/28 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
在Python中使用正则表达式的方法
2015/08/13 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
详解python3中tkinter知识点
2018/06/21 Python
python使用wxpy轻松实现微信防撤回的方法
2019/02/21 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
对python3.4 字符串转16进制的实例详解
2019/06/12 Python
Pytorch抽取网络层的Feature Map(Vgg)实例
2019/08/20 Python
Python实现FLV视频拼接功能
2020/01/21 Python
解决Ubuntu18中的pycharm不能调用tensorflow-gpu的问题
2020/09/17 Python
露营世界:Camping World
2017/02/02 全球购物
eDreams意大利:南欧领先的在线旅行社
2018/11/23 全球购物
室内设计自我鉴定
2013/10/15 职场文书
我的求职计划书
2014/01/10 职场文书
大学毕业感言
2014/01/10 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
政协委员个人总结
2015/03/03 职场文书
餐厅开业活动方案
2019/07/08 职场文书