一、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内置函数或者其他模块实现。需要掌握的是遍历字典的基本方法,对于需求的不同,可以采用不同的遍历方式。