一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語(yǔ)言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - Python實(shí)現(xiàn)字典的遍歷與排序功能示例

Python實(shí)現(xiàn)字典的遍歷與排序功能示例

2020-12-28 00:29慕林溪 Python

這篇文章主要介紹了Python實(shí)現(xiàn)字典的遍歷與排序功能,結(jié)合實(shí)例形式分析了Python字典的遍歷與排序相關(guān)函數(shù)與使用技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)字典的遍歷與排序功能。分享給大家供大家參考,具體如下:

字典的遍歷:

首先:

items():

功能:以列表的形式返回字典鍵值對(duì)

eg:

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

iteritems():

功能:以迭代器對(duì)象返回字典鍵值對(duì)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# -*- 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()函數(shù)可以把列表合并,并創(chuàng)建一個(gè)元祖對(duì)的列表。

eg:

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

zip()函數(shù)參數(shù)可以是任何類型的序列,也可以有兩個(gè)以上的參數(shù),當(dāng)傳入?yún)?shù)的長(zhǎng)度不同時(shí),zip自動(dòng)以最短序列長(zhǎng)度為準(zhǔn)進(jìn)行截取,獲得元祖。

字典的排序:

首先:

函數(shù)sorted(dic,value,reverse)

過(guò)程:第一個(gè)參數(shù)傳遞給第二個(gè)參數(shù)“鍵-鍵值”,第二個(gè)參數(shù)取出其中的鍵[0]或鍵值[1]

dic為比較函數(shù),value為排序?qū)ο螅ㄦI或者鍵值)

reverse注明升序排序或是降序排序,值有true-降序和false-升序(默認(rèn)值)

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

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

解釋說(shuō)明:

dict.iteritems()得到[(鍵,鍵值),(鍵,鍵值),(鍵,鍵值)...]的列表。然后用sorted方法,通過(guò)key這個(gè)參數(shù)指定排序是按照鍵值,也就是第一個(gè)元素d[1]的值來(lái)排序。reverse=True表示需要翻轉(zhuǎn)的(即降序排序),默認(rèn)是升序排序。

函數(shù)lambda與函數(shù)iteritems()

lambda

功能:創(chuàng)建匿名函數(shù)

eg:

?
1
2
3
4
5
6
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()

功能:以迭代器對(duì)象返回字典鍵值對(duì)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- coding: cp936 -*-
print "按字典鍵值進(jìn)行排序"
dict1={'a':3,'c':1,'b':2}
#升序:
dict_a=sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=False)
#降序排序reverse=True ,該參數(shù)可省,默認(rèn)為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 "按字典鍵進(jìn)行排序"
dict3={'d':6,'e':5,'f':4}
#降序:
dict_c=sorted(dict3.iteritems(),key=lambda dict3:dict3[0],reverse=True)
#降序排序reverse=True ,該參數(shù)可省,默認(rèn)為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"

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

原文鏈接:http://blog.csdn.net/sgz_06_666666/article/details/53184198

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费高清资源黄网站在线观看 | 欧洲肥女大肥臀tv | 欧美日韩精品在线观看 | 国产成人+亚洲欧洲 | 2022超帅男同gayxxx | 欧美一区二区三区高清不卡tv | 99久久香蕉| 毛片手机在线视频免费观看 | 女女性恋爱视频入口 | 久久99精品国产免费观看 | 欧美一级特黄aaa大片 | 九九99热 | 91精品国产91热久久p | 调教女警花穿环上班 | 国产精品视频第一区二区三区 | 美女把小内内脱个精光打屁屁 | 91aaa免费免费国产在线观看 | 欧美国产日本高清不卡 | 亚洲成人免费 | 国产按摩系列 | 亚洲一区二区精品推荐 | 好吊色视频988gao在线观看 | 欧美国产合集在线视频 | 亚洲精品91香蕉综合区 | 精品国产欧美一区二区三区成人 | 狠狠涩| 男人的天堂视频在线 | 色播影院性播影院私人影院 | 免费我看视频在线观看 | 无码日韩精品一区二区免费 | 亚洲国产日韩制服在线观看 | 国产在线观看a | 天天舔天天射 | xxxx18日本视频xxxxx | 国产精品女主播自在线拍 | 男人天堂资源 | 五月天婷婷网亚洲综合在线 | 久久精品国产色蜜蜜麻豆国语版 | 俄罗斯freeⅹ性欧美 | 日韩在线视频一区二区三区 | 成人永久免费福利视频网站 |