本文实例讲述了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"
PS:这里再为大家推荐一款关于排序的演示工具供大家参考:
在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
Python,字典遍历,字典排序
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]