第一種:for in girl_dict= {"China": "小美", "Japan": "圖多天光", "Korea": "斯密達美"} for everyKey in girl_dict: print ("key:" + everyKey + "value:" + girl_dict[eve ...
第一種:for in
girl_dict= {"China": "小美", "Japan": "圖多天光", "Korea": "斯密達美"} for everyKey in girl_dict: print ("key:" + everyKey + "value:" + girl_dict[everyKey])
輸出結果
key:japan value:圖多天光
key:korean value:斯密達美
key:china value:小美
第二種:使用dict的keys()方法
dict的keys()方法返回由所有key組成的list,for in dict 等同於 for in dict.keys()
girl_dict= {"China": "小美", "Japan": "圖多天光", "Korea": "斯密達美"} for everyKey in girl_dict.keys(): print ("key:" + everyKey)
輸出結果
key:japan
key:korean
key:china
第三種:使用values()方法
遍歷key-value中的每一個value值
girl_dict= {"China": "小美", "Japan": "圖多天光", "Korea": "斯密達美"} for every_value in girl_dict.values(): print ("value:" + every_value)
輸出結果:
value:小美
value:圖多天光
value:斯密達美
第四種:使用dict的items()方法
遍歷字典中的每一個key-value
girl_dict= {"China": "小美", "Japan": "圖多天光", "Korea": "斯密達美"} 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:小美
備註:items()方法返回的是dict_items對象,而dict_items的內部則持有的數據結構是[(“key”,“value”),(“key”,“value”),(“key”,“value”)]
第五種:使用dict的items()方法,然後直接解包元組
每一輪遍歷取出來的Entry元素是一個tuple對象,此時將元組對象的兩個元素直接賦值給定義的兩個變數(這裡自動執行解包元組操作)
girl_dict= {"China": "小美", "Japan": "圖多天光", "Koean": "斯密達美"} for key,value in girl_dict.items(): #for (key,value) in girl_dict.items() 這樣加上括弧也可以 print (key + ":" + value) # Python資料源碼電子書免費獲取裙:708525271
輸出結果
japan:圖多天光
korean:斯密達美
china:小美
總結
dict遍歷元素的順序與你插入元素、訪問元素的順序均無關……需要有序dict的OrderedDict(類似於Java中的LinkedHashMap)