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爬虫框架Scrapy实战之批量抓取招聘信息
Aug 07 Python
Python语言描述随机梯度下降法
Jan 04 Python
python矩阵转换为一维数组的实例
Jun 05 Python
Python2.7环境Flask框架安装简明教程【已测试】
Jul 13 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
Django ORM 常用字段与不常用字段汇总
Aug 09 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
如何基于Python获取图片的物理尺寸
Nov 25 Python
python实现监控阿里云账户余额功能
Dec 16 Python
Python logging模块原理解析及应用
Aug 13 Python
python开发实时可视化仪表盘的示例
May 07 Python
使用Pytorch实现two-head(多输出)模型的操作
May 28 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通过iconv将字符串从GBK转换为UTF8字符集
2011/07/18 PHP
php获取汉字首字母的函数
2013/11/07 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
服务器迁移php版本不同可能诱发的问题
2015/12/22 PHP
thinkphp自定义权限管理之名称判断方法
2017/04/01 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
js根据日期判断星座的示例代码
2014/01/23 Javascript
原生javascript实现隔行换色
2015/01/04 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
JS实现物体带缓冲的间歇运动效果示例
2016/12/22 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
jQuery Validate 校验多个相同name的方法
2017/05/18 jQuery
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
Python简单实现socket信息发送与监听功能示例
2018/01/03 Python
Python获取当前公网ip并自动断开宽带连接实例代码
2018/01/12 Python
Django 路由控制的实现代码
2018/11/08 Python
Jupyter notebook设置背景主题,字体大小及自动补全代码的操作
2020/04/13 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
2020/05/13 Python
python字符串拼接+和join的区别详解
2020/12/03 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
详解如何解决canvas图片getImageData,toDataURL跨域问题
2018/09/17 HTML / CSS
Styleonme中文网:韩国高档人气品牌
2017/06/21 全球购物
新加坡领先的在线生活方式和杂货购物网站:EAMART
2019/04/02 全球购物
物业客服专员岗位职责
2013/11/30 职场文书
银行学习十八大感想
2014/01/11 职场文书
离职证明范本(5篇)
2014/09/19 职场文书
上课玩手机的检讨书
2014/10/01 职场文书
班主任师德师风自我剖析材料
2014/10/02 职场文书
第28个世界无烟日活动总结
2015/02/10 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
让世界充满爱观后感
2015/06/10 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL