Python實(shí)現(xiàn)字典的遍歷與排序功能示例
本文實(shí)例講述了Python實(shí)現(xiàn)字典的遍歷與排序功能。分享給大家供大家參考,具體如下:
字典的遍歷:
首先:
items():
功能:以列表的形式返回字典鍵值對(duì)
eg:
dict_={"a":2,"b":3,"c":6}
dict_.items()
>>>[('a',2),('b',3),('c',6)]
iteritems():
功能:以迭代器對(duì)象返回字典鍵值對(duì)
# -*- 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:
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]就是按字典的鍵排序)
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:
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ì)
# -*- 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"
PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:
在線動(dòng)畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過(guò)程工具:
http://tools.jb51.net/aideddesign/paixu_ys
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python加密解密算法與技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。
- python 字典(dict)按鍵和值排序
- Python中字典(dict)和列表(list)的排序方法實(shí)例
- python3.0 字典key排序
- python字典值排序并取出前n個(gè)key值的方法
- Python實(shí)現(xiàn)字典依據(jù)value排序
- python字典多條件排序方法實(shí)例
- Python常見(jiàn)排序操作示例【字典、列表、指定元素等】
- Python實(shí)現(xiàn)對(duì)字典分別按鍵(key)和值(value)進(jìn)行排序的方法分析
- 詳解Python的Lambda函數(shù)與排序
- Python使用lambda表達(dá)式對(duì)字典排序操作示例
相關(guān)文章
使用python批量修改文件名的方法(視頻合并時(shí))
這篇文章主要介紹了視頻合并時(shí)使用python批量修改文件名的方法,代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08
在python里協(xié)程使用同步鎖Lock的實(shí)例
今天小編就為大家分享一篇在python里協(xié)程使用同步鎖Lock的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
Pycharm中import?torch報(bào)錯(cuò),python中import?torch不報(bào)錯(cuò)的解決
這篇文章主要介紹了Pycharm中import?torch報(bào)錯(cuò),python中import?torch不報(bào)錯(cuò)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
python實(shí)現(xiàn)PolynomialFeatures多項(xiàng)式的方法
這篇文章主要介紹了python實(shí)現(xiàn)PolynomialFeatures多項(xiàng)式的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
Python+matplotlib實(shí)現(xiàn)填充螺旋實(shí)例
這篇文章主要介紹了Python+matplotlib實(shí)現(xiàn)填充螺旋實(shí)例,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
詳解PANDAS 數(shù)據(jù)合并與重塑(join/merge篇)
這篇文章主要介紹了詳解PANDAS 數(shù)據(jù)合并與重塑(join/merge篇),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07

