python字典遍历 没有顺序_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

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:这里再为大家推荐一款关于排序的演示工具供大家参考:

希望本文所述对大家Python程序设计有所帮助。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值