一、字典基础知识
1.1 什么是字典?
字典是Python中一种重要的数据类型,它是一种可变序列,用于存储一系列值,它的存储方式是通过“键-值”对来进行存储的。一个字典中含有多个“键-值”对,每个“键-值”对中,键必须是唯一的。
1.2 字典的创建和访问
字典使用花括号{}来创建,每个“键-值”对之间使用逗号隔开。
# 创建字典
dict = {'a':1, 'b':2, 'c':3}
# 访问字典中的元素
print(dict['a']) # 输出1
字典中的元素是无序的,因此不能通过下标来访问元素。在访问元素时要使用字典中的键来进行访问。
当字典中不存在指定键时,会抛出KeyError异常。
1.3 字典常用操作
1.3.1 添加和修改元素
向字典中添加一个“键-值”对时,可以直接使用key来进行赋值操作。如果key已经存在,那么就相当于修改value的值。
dict = {'a':1, 'b':2, 'c':3}
# 添加元素
dict['d'] = 4
# 修改元素
dict['b'] = 5
1.3.2 删除元素
使用del关键字可以删除字典中的元素。
dict = {'a':1, 'b':2, 'c':3}
del dict['a']
使用pop()方法也可以删除元素,它与删除列表中的元素相似,可以在删除的同时返回被删除的元素。
dict = {'a':1, 'b':2, 'c':3}
value = dict.pop('a')
print(value) # 输出1
二、字典的遍历
字典是一种无序的数据类型,在进行遍历时不能像列表或元组那样使用下标进行访问。Python中提供了三种遍历字典的方式,分别是:
遍历字典的键
遍历字典的值
遍历字典的键-值对
2.1 遍历字典的键
在遍历字典中的键时,可以使用for循环来进行遍历操作,for循环的语法格式如下:
for key in dict:
# do something...
示例代码:
dict = {'a':1, 'b':2, 'c':3}
for key in dict:
print(key)
输出结果:
a
b
c
可以看出,for循环遍历的是字典的键。
2.2 遍历字典的值
要遍历字典中的值,可以使用字典的values()方法,它返回所有的值组成的列表。
dict = {'a':1, 'b':2, 'c':3}
for value in dict.values():
print(value)
输出结果:
1
2
3
2.3 遍历字典的键-值对
字典的items()方法返回的是字典的键-值对组成的元组列表。
dict = {'a':1, 'b':2, 'c':3}
for key, value in dict.items():
print(key, value)
输出结果:
a 1
b 2
c 3
在遍历键-值对时,可以使用两个变量来分别接收键和值。这样,在循环中就可以访问字典中的键和值了。
三、遍历练习题
接下来我们通过一些例子来练习如何遍历字典。
3.1 Example 1:求字典中所有元素的和
给定一个字典,求字典中所有元素的和。
解题思路:使用for循环遍历字典的键-值对,每次将值加上即可。
dict = {'a':1, 'b':2, 'c':3}
result = 0
for value in dict.values():
result += value
print(result)
输出结果:
上面代码的输出结果为6。
3.2 Example 2:统计字典中每个值出现的次数
给定一个字典,统计字典中每个值出现的次数。
解题思路:
先遍历字典,统计每个元素出现的次数。
再遍历次数字典,输出结果。
dict = {'a':1, 'b':2, 'c':3, 'd':1}
count_dict = {}
# 统计每个元素出现的次数
for value in dict.values():
if value in count_dict:
count_dict[value] += 1
else:
count_dict[value] = 1
# 输出结果
for key, value in count_dict.items():
print(str(key) + '出现了' + str(value) + '次')
输出结果:
上面代码的输出结果为:
1出现了2次
2出现了1次
3出现了1次
3.3 Example 3:将字典中的键和值进行交换
将给定的字典中的键和值进行交换。
解题思路:遍历字典的键-值对,将键和值进行交换即可。
dict = {'a':1, 'b':2, 'c':3}
new_dict = {}
for key, value in dict.items():
new_dict[value] = key
print(new_dict)
输出结果:
上面代码的输出结果为:
{1: 'a', 2: 'b', 3: 'c'}
3.4 Example 4:找出字典中的最低温度
给定一个字典,其中包含多个城市的温度,找出其中的最低温度。
解题思路:遍历字典的键-值对,使用if语句对每个温度进行比较,找出最低温度即可。
temperatures = {'Beijing':11, 'Shanghai':17, 'Guangzhou':25, 'Hangzhou':8}
min_temperature = None
for city, temperature in temperatures.items():
if min_temperature is None or temperature < min_temperature:
min_temperature = temperature
print('最低温度为:{}℃'.format(min_temperature))
输出结果:
上面代码的输出结果为:
最低温度为:8℃
3.5 Example 5:找出字典中的最高温度
给定一个字典,其中包含多个城市的温度,找出其中的最高温度。
解题思路:遍历字典的值,使用if语句对每个温度进行比较,找出最高温度即可。
temperatures = {'Beijing':11, 'Shanghai':17, 'Guangzhou':25, 'Hangzhou':8}
max_temperature = None
for temperature in temperatures.values():
if max_temperature is None or temperature > max_temperature:
max_temperature = temperature
print('最高温度为:{}℃'.format(max_temperature))
输出结果:
上面代码的输出结果为:
最高温度为:25℃
四、总结
通过本篇文章的学习,相信大家已经了解了Python中字典的基本知识和遍历字典的方法,并且能够运用字典进行一些简单的练习题。在编写代码时,我们应该灵活运用字典的各种操作,并能够熟练地使用遍历字典的方法。