一、Python字典遍歷
Python字典是一種無序的key-value集合,其中每個元素由key和value組成。在很多場合下,需要遍歷字典來獲取字典中的數據。Python字典提供了多種遍歷方法,可以滿足不同需求。
最常見的遍歷方法是使用for循環遍歷字典的keys或values或items。
#遍歷字典的key
dict1 = {'name':'Lucy','age':18,'gender':'female'}
for key in dict1.keys():
print(key)
#遍歷字典的value
for value in dict1.values():
print(value)
#遍歷字典的item
for item in dict1.items():
print(item)
#遍歷字典的key-value
for key,value in dict1.items():
print(key,value)
二、Python字典遍歷輸出
在Python中,控制台輸出是調試時最為常見的輸出方式。Python中可以使用print()函數輸出字典,同時可以利用遍歷字典的方法輸出字典中的元素。
dict1 = {'name':'Lucy','age':18,'gender':'female'}
#輸出字典的key
for key in dict1.keys():
print(key,end=" ")
print("\n")
#輸出字典的value
for value in dict1.values():
print(value,end=" ")
print("\n")
#輸出字典的item
for key,value in dict1.items():
print(key,":",value,end=" ")
print("\n")
三、Python字典編程例題
接下來,將通過一些Python字典編程例題來實踐所學知識。
例題1:
現有一個字典,要求將字典的key和value反轉輸出。
dict1 = {'name':'Lucy','age':18,'gender':'female'}
dict2 = {}
#遍歷dict1,將key-value反轉存入dict2中
for key,value in dict1.items():
dict2[value] = key
print(dict2)
例題2:
現有兩個字典,要求將兩個字典的key相同的value值相加得到新字典。
dict1 = {'name':'Lucy','age':18,'gender':'female','score':80}
dict2 = {'name':'Lucy','age':18,'gender':'female','score':90}
dict3 = {}
#遍歷dict1和dict2,將key相同的value相加存入dict3中
for key in dict1.keys():
if dict1[key] == dict2[key]:
dict3[key] = dict1[key]
else:
dict3[key] = dict1[key] + dict2[key]
print(dict3)
例題3:
現有一個列表,每個元素都是一個字典,每個字典都包含一個鍵值對(其中key的值都相同)。要求將元素中key相同的value求和,並根據和的大小進行降序排序輸出。
list1 = [{'name':'Lucy','score':80},{'name':'Tom','score':90},{'name':'Amy','score':75},{'name':'Bob','score':100}]
dict1 = {}
#遍歷list1,將key相同的value求和存入dict1中
for item in list1:
name = item['name']
score = item['score']
if name in dict1.keys():
dict1[name] += score
else:
dict1[name] = score
#按value對dict1進行降序排序並輸出
dict2 = dict(sorted(dict1.items(), key=lambda x: x[1],reverse=True))
print(dict2)
例題4:
現有一個字典,要求將字典中不同value的個數輸出。
dict1 = {'name':'Lucy','age':18,'gender':'female','score':80,'weight':80}
set1 = set(dict1.values())
print(len(set1))
以上例題均可通過字典遍歷的方式實現,同時也可以藉助Python內置函數或者其他模塊實現。需要掌握的是遍歷字典的基本方法,對於需求的不同,可以採用不同的遍歷方式。
原創文章,作者:YLGR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/145952.html