您的位置:

Python字典遍历方法及示例

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