Python实现字典的遍历与排序功能示例


Posted in Python onDecember 23, 2017

本文实例讲述了Python实现字典的遍历与排序功能。分享给大家供大家参考,具体如下:

字典的遍历:

首先:

items():

功能:以列表的形式返回字典键值对

eg:

dict_={"a":2,"b":3,"c":6}
dict_.items()
>>>[('a',2),('b',3),('c',6)]

iteritems():

功能:以迭代器对象返回字典键值对

# -*- coding: cp936 -*-
dict1={'a':1,'b':2,'c':3}
#第一种:
for d in dict1:
  print "%s:%d"%(d,dict1[d])
print
#第二种:
for k,v in dict1.items():
  print "%s:%d"%(k,v)
print
#第三种:
for k,v in dict1.iteritems():
  print "%s:%d"%(k,v)
print
#第四种:
for k in dict1.iterkeys():
  print "%s:%d"%(k,dict1[k])
print
#第五种:
for v in dict1.itervalues():
  print v
print
#第六种:
for k,v in zip(dict1.iterkeys(),dict1.itervalues()):
  print "%s:%d"%(k,v)
print

zip()函数可以把列表合并,并创建一个元祖对的列表。

eg:

list1=[1,2,3]
list2=[4,5,6]
zip(a,b)
>>>[(1,4),(2,5),(3,6)]

zip()函数参数可以是任何类型的序列,也可以有两个以上的参数,当传入参数的长度不同时,zip自动以最短序列长度为准进行截取,获得元祖。

字典的排序:

首先:

函数sorted(dic,value,reverse)

过程:第一个参数传递给第二个参数“键-键值”,第二个参数取出其中的键[0]或键值[1]

dic为比较函数,value为排序对象(键或者键值)

reverse注明升序排序或是降序排序,值有true-降序和false-升序(默认值)

eg:按字典的键值排序(把dict[1]换成dict[0]就是按字典的键排序)

sorted(dict.iteritems(),key=lambda dict:dict[1],reverse=True)

解释说明:

dict.iteritems()得到[(键,键值),(键,键值),(键,键值)...]的列表。然后用sorted方法,通过key这个参数指定排序是按照键值,也就是第一个元素d[1]的值来排序。reverse=True表示需要翻转的(即降序排序),默认是升序排序。

函数lambda与函数iteritems()

lambda

功能:创建匿名函数

eg:

fun_1=lambda a:a+1
print fun_1(1)
>>>2
fun_2=lambda a,b:a+2*b
fun_2(1,1)
>>>3

iteritems()

功能:以迭代器对象返回字典键值对

# -*- coding: cp936 -*-
print "按字典键值进行排序"
dict1={'a':3,'c':1,'b':2}
#升序:
dict_a=sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=False) 
#降序排序reverse=True ,该参数可省,默认为False。 或者dict_a.reverse()
print dict_a,"\n"
#降序:
dict2={'a':3,'c':1,'b':2}
dict_b=sorted(dict2.iteritems(),key=lambda dict2:dict2[1],reverse=True)
print dict_b,"\n"
##############################################################
print "按字典键进行排序"
dict3={'d':6,'e':5,'f':4}
#降序:
dict_c=sorted(dict3.iteritems(),key=lambda dict3:dict3[0],reverse=True) 
#降序排序reverse=True ,该参数可省,默认为False。 或者dict_a.reverse()
print dict_c,"\n" 
#升序:
dict4={'d':6,'e':5,'f':4}
dict_d=sorted(dict4.iteritems(),key=lambda dict4:dict4[0])#改为降序与上面同理
print dict_d,"\n"
Python 相关文章推荐
python实现基于两张图片生成圆角图标效果的方法
Mar 26 Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 Python
Python实现简单的四则运算计算器
Nov 02 Python
用Python将IP地址在整型和字符串之间轻松转换
Mar 22 Python
python使用两种发邮件的方式smtp和outlook示例
Jun 02 Python
python如何查看微信消息撤回
Nov 27 Python
在pyqt5中QLineEdit里面的内容回车发送的实例
Jun 21 Python
pandas实现将日期转换成timestamp
Dec 07 Python
Python变量、数据类型、数据类型转换相关函数用法实例详解
Jan 09 Python
Django filter动态过滤与排序实现过程解析
Nov 26 Python
详解MindSpore自定义模型损失函数
Jun 30 Python
Python实现字典按照value进行排序的方法分析
Dec 23 #Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 #Python
简单了解什么是神经网络
Dec 23 #Python
python用户管理系统的实例讲解
Dec 23 #Python
python队列通信:rabbitMQ的使用(实例讲解)
Dec 22 #Python
python3写爬取B站视频弹幕功能
Dec 22 #Python
机器学习经典算法-logistic回归代码详解
Dec 22 #Python
You might like
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
PHP中$_FILES的使用方法及注意事项说明
2014/02/14 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
关于PHP开发的9条建议
2015/07/27 PHP
thinkPHP中create方法与令牌验证实例浅析
2015/12/08 PHP
PHP实现简单登录界面
2019/10/23 PHP
Node.js实现简单聊天服务器
2014/06/20 Javascript
jQuery的promise与deferred对象在异步回调中的作用
2016/05/03 Javascript
Jquery中map函数的用法
2016/06/03 Javascript
JavaScript prototype属性详解
2016/10/25 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
MUI  Scroll插件的使用详解
2017/04/13 Javascript
Bootstrap实现基于carousel.js框架的轮播图效果
2017/05/02 Javascript
vue init webpack myproject构建项目 ip不能访问的解决方法
2018/03/20 Javascript
Vue在页面右上角实现可悬浮/隐藏的系统菜单
2018/05/04 Javascript
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
vue-cli 3.x配置跨域代理的实现方法
2019/04/12 Javascript
一篇文章,教你学会Vue CLI 插件开发
2019/04/17 Javascript
JS实现移动端点击按钮复制文本内容
2019/07/28 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
[10:28]2018DOTA2国际邀请赛寻真——VGJ.S寻梦之路
2018/08/15 DOTA
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
python获取当前文件路径以及父文件路径的方法
2019/07/10 Python
django创建超级用户过程解析
2019/09/18 Python
对tensorflow中tf.nn.conv1d和layers.conv1d的区别详解
2020/02/11 Python
HTML5 贪吃蛇游戏实现思路及源代码
2013/09/03 HTML / CSS
新大陆软件面试题
2016/11/24 面试题
如何开启linux的ssh服务
2015/02/14 面试题
俄语专业职业生涯规划
2014/02/26 职场文书
教师批评与自我批评(群众路线)
2014/10/15 职场文书
JavaScript实现简单图片切换
2021/04/29 Javascript
Python中with上下文管理协议的作用及用法
2022/03/18 Python
virtualenv隔离Python环境的问题解析
2022/06/21 Python
Python爬取奶茶店数据分析哪家最好喝以及性价比
2022/09/23 Python