Python實現(xiàn)字典的遍歷與排序功能示例
本文實例講述了Python實現(xiàn)字典的遍歷與排序功能。分享給大家供大家參考,具體如下:
字典的遍歷:
首先:
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()
函數(shù)可以把列表合并,并創(chuàng)建一個元祖對的列表。
eg:
list1=[1,2,3] list2=[4,5,6] zip(a,b) >>>[(1,4),(2,5),(3,6)]
zip()
函數(shù)參數(shù)可以是任何類型的序列,也可以有兩個以上的參數(shù),當傳入參數(shù)的長度不同時,zip自動以最短序列長度為準進行截取,獲得元祖。
字典的排序:
首先:
函數(shù)sorted(dic,value,reverse)
過程:第一個參數(shù)傳遞給第二個參數(shù)“鍵-鍵值”,第二個參數(shù)取出其中的鍵[0]或鍵值[1]
dic為比較函數(shù),value為排序對象(鍵或者鍵值)
reverse注明升序排序或是降序排序,值有true-降序和false-升序(默認值)
eg:按字典的鍵值排序(把dict[1]換成dict[0]就是按字典的鍵排序)
sorted(dict.iteritems(),key=lambda dict:dict[1],reverse=True)
解釋說明:
dict.iteritems()
得到[(鍵,鍵值),(鍵,鍵值),(鍵,鍵值)...]的列表。然后用sorted方法,通過key這個參數(shù)指定排序是按照鍵值,也就是第一個元素d[1]的值來排序。reverse=True表示需要翻轉的(即降序排序),默認是升序排序。
函數(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():
功能:以迭代器對象返回字典鍵值對
# -*- coding: cp936 -*- print "按字典鍵值進行排序" dict1={'a':3,'c':1,'b':2} #升序: dict_a=sorted(dict1.iteritems(),key=lambda dict1:dict1[1],reverse=False) #降序排序reverse=True ,該參數(shù)可省,默認為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 ,該參數(shù)可省,默認為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數(shù)據結構與算法教程》、《Python加密解密算法與技巧總結》、《Python編碼操作技巧總結》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》及《Python入門與進階經典教程》
希望本文所述對大家Python程序設計有所幫助。
相關文章
Python StringIO模塊實現(xiàn)在內存緩沖區(qū)中讀寫數(shù)據
這篇文章主要介紹了Python StringIO模塊實現(xiàn)在內存緩沖區(qū)中讀寫數(shù)據,本文講解了使用實例、StringIO類中的方法、文件操作和字符串操作示例等內容,需要的朋友可以參考下2015-04-04Python實現(xiàn)指定區(qū)域桌面變化監(jiān)控并報警
在這篇博客中,我們將使用Python編程語言和一些常用的庫來實現(xiàn)一個簡單的區(qū)域監(jiān)控和變化報警系統(tǒng),文中有詳細的代碼示例供大家參考,需要的朋友可以參考下2023-07-07