Python之字典遍历元素(4种方式)
第一种: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)