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 14 Python
Python win32com 操作Exce的l简单方法(必看)
May 25 Python
scrapy spider的几种爬取方式实例代码
Jan 25 Python
python进行两个表格对比的方法
Jun 27 Python
Python实现钉钉发送报警消息的方法
Feb 20 Python
一行Python代码过滤标点符号等特殊字符
Aug 12 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
Tensorflow加载Vgg预训练模型操作
May 26 Python
Python切片列表字符串如何实现切换
Aug 06 Python
python进度条显示之tqmd模块
Aug 22 Python
python 星号(*)的多种用途
Sep 21 Python
python基础学习之生成器与文件系统知识总结
May 25 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 Error与Logging函数的深入理解
2013/06/03 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
js鼠标左右键 键盘值小结
2010/06/11 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
利用ajaxfileupload插件实现文件上传无刷新的具体方法
2013/06/08 Javascript
Javascript四舍五入Math.round()与Math.pow()使用介绍
2013/12/27 Javascript
AngularJS使用angular-formly进行表单验证
2015/12/27 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
HTML页面定时跳转方法解析(2种任选)
2016/12/22 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
React-router v4 路由配置方法小结
2017/08/08 Javascript
javaScript日期工具类DateUtils详解
2017/12/08 Javascript
react实现点击选中的li高亮的示例代码
2018/05/24 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
2019/01/28 jQuery
vue中的双向数据绑定原理与常见操作技巧详解
2020/03/16 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
用js实现放大镜效果
2020/10/28 Javascript
Python xlrd读取excel日期类型的2种方法
2015/04/28 Python
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Python 模拟员工信息数据库操作的实例
2017/10/23 Python
机器学习10大经典算法详解
2017/12/07 Python
Python Matplotlib库安装与基本作图示例
2019/01/09 Python
浅析PyTorch中nn.Linear的使用
2019/08/18 Python
python argparser的具体使用
2019/11/10 Python
简单了解为什么python函数后有多个括号
2019/12/19 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
银行会计业务的个人自我评价
2013/11/02 职场文书
函授毕业自我鉴定
2014/02/04 职场文书
股权转让协议书范本
2014/04/12 职场文书