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的numpy模块安装不成功简单解决方法总结
Dec 23 Python
python实现微信跳一跳辅助工具步骤详解
Jan 04 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
Python自定义装饰器原理与用法实例分析
Jul 16 Python
简单了解python代码优化小技巧
Jul 08 Python
Python Opencv提取图片中某种颜色组成的图形的方法
Sep 19 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
Python猴子补丁Monkey Patch用法实例解析
Mar 23 Python
解决django FileFIELD的编码问题
Mar 30 Python
PyTorch中的C++扩展实现
Apr 02 Python
python函数中将变量名转换成字符串实例
May 11 Python
Python Opencv实现单目标检测的示例代码
Sep 08 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
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
由php if 想到的些问题
2008/03/22 PHP
php二分法在IP地址查询中的应用
2008/08/12 PHP
php 静态化实现代码
2009/03/20 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
大家都应该掌握的PHP关联数组使用技巧
2015/12/25 PHP
PHP读取文件内容的五种方式
2015/12/28 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
Java 正则表达式学习总结和一些小例子
2012/09/13 Javascript
JS的replace方法详细介绍
2012/11/09 Javascript
兼容IE和Firefox火狐的上下、左右循环无间断滚动JS代码
2013/04/19 Javascript
jQuery异步加载数据并添加事件示例
2014/08/24 Javascript
jQuery实现精美的多级下拉菜单特效
2015/03/14 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
如何用angularjs制作一个完整的表格
2016/01/21 Javascript
confirm确认对话框的实现方法总结
2016/06/17 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
Python zip()函数用法实例分析
2018/03/17 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
Python批量修改图片分辨率的实例代码
2019/07/04 Python
python3 批量获取对应端口服务的实例
2019/07/25 Python
python中对_init_的理解及实例解析
2019/10/11 Python
PyTorch实现更新部分网络,其他不更新
2019/12/31 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
浅析Python打包时包含静态文件处理方法
2021/01/15 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
视光学毕业生自荐书范文
2014/02/13 职场文书
启动仪式策划方案
2014/06/14 职场文书
技术员岗位职责范本
2015/04/11 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
大学生军训心得体会5篇
2019/08/15 职场文书
一篇文章弄懂MySQL查询语句的执行过程
2021/05/07 MySQL
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android
Java线程的6种状态与生命周期
2022/05/11 Java/Android