1. 程式人生 > >Python之字典的遍歷

Python之字典的遍歷

0、恐怕除了建立字典,就是遍歷字典用的最多了,不總結都不行

 

1、第一種,for in , 拿到每一個key,那就好辦了

girl_dict= {"china": "小美", "japan": "圖多天光", "korean": "斯密達美"}


for everyKey in girl_dict:
    print "key:" + everyKey + "  value:" + girl_dict[everyKey]

輸出結果:

key:japan  value:圖多天光
key:korean  value:斯密達美
key:china  value:小美

 

2、第二種,仍然是for in, 還是拿到每一個key,這次用了dict的keys函式(),哈哈,怒贊,看來for in dict 等同於 for in dict.keys()哈 


girl_dict= {"china": "小美", "japan": "圖多天光", "korean": "斯密達美"}


for everyKey in girl_dict.keys():
    print "key:" + everyKey + "  value:" + girl_dict[everyKey]

輸出結果:

key:japan  value:圖多天光
key:korean  value:斯密達美
key:china  value:小美

 

3、第三種,還是for in, 不過是遍歷value值,這次躲不掉了, values()函式,嘿嘿

girl_dict= {"china": "小美", "japan": "圖多天光", "korean": "斯密達美"}


for everyValue in girl_dict.values():
    print everyValue

 

4、第四種,遍歷字典中的每一個Entry

girl_dict= {"china": "小美", "japan": "圖多天光", "korean": "斯密達美"}


for everyEntry in girl_dict.items():
    print everyEntry

輸出結果:你會發現每一個Entry,都是key和value組成的一個元組

('japan', '\xe5\x9b\xbe\xe5\xa4\x9a\xe5\xa4\xa9\xe5\x85\x89')
('korean', '\xe6\x96\xaf\xe5\xaf\x86\xe8\xbe\xbe\xe7\xbe\x8e')
('china', '\xe5\xb0\x8f\xe7\xbe\x8e')

如果是把每個元組的元素都分別取出來,就會把key和value都正確都輸出了哦

print everyEntry[0]  + ":" + everyEntry[1]

輸出結果:

japan:圖多天光
korean:斯密達美
china:小美

 

5、第五種,直接遍歷Entry的key與value,仍然是用items()函式

girl_dict= {"china": "小美", "japan": "圖多天光", "korean": "斯密達美"}


for key,value  in girl_dict.items():  #for (key,value) in girl_dict.items() 這樣加上括號也可以
    print key + ":" + value

輸出結果:

japan:圖多天光
korean:斯密達美
china:小美