第一種: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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/542868.html
標籤:其他
下一篇:二分查找-力扣(Java)
