Python实现字典的遍历与排序功能示例
|
本文实例讲述了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
eg: list1=[1,2,3] list2=[4,5,6] zip(a,b) >>>[(1,4),(2,5),(3,6)]
字典的排序: 首先: 函数 过程:第一个参数传递给第二个参数“键-键值”,第二个参数取出其中的键[0]或键值[1] dic为比较函数,value为排序对象(键或者键值) reverse注明升序排序或是降序排序,值有true-降序和false-升序(默认值) eg:按字典的键值排序(把dict[1]换成dict[0]就是按字典的键排序) sorted(dict.iteritems(),key=lambda dict:dict[1],reverse=True) 解释说明:
函数lambda与函数 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,'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,'f':4}
dict_d=sorted(dict4.iteritems(),key=lambda dict4:dict4[0])#改为降序与上面同理
print dict_d,"n"
PS:这里再为大家推荐一款关于排序的演示工具供大家参考: 在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具: 更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python加密解密算法与技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》 希望本文所述对大家Python程序设计有所帮助。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
