一、字典的基本概念与创建
字典(dictionary)是Python中的一种数据类型,采用键-值(key-value)对的形式存储数据。其中,键是唯一的,值可以是任意类型的数据,包括数字、字符串、列表、元组、字典等。 创建一个字典可以使用花括号{}或者dict()函数。以下是创建字典的两种方法:
#使用{}创建一个空字典
my_dict = {}
#或者使用dict()函数创建一个空字典
my_dict = dict()
如果要创建一个有初始键值对的字典,则可以在花括号中直接书写键-值对:
my_dict = {'Name': 'Tom', 'Age': 25}
二、字典的常见操作
在字典中,可以通过键来访问相应的值,也可以利用del关键字删除键值对。以下是几种常见的字典操作方法: 1. 访问字典中的值 使用字典中的键可以获取相应的值,例如:
my_dict = {'Name': 'Tom', 'Age': 25}
print("姓名:", my_dict['Name'])
print("年龄:", my_dict['Age'])
输出:
姓名: Tom
年龄: 25
2. 修改键值对 可以使用键来修改字典中的值,例如:
my_dict = {'Name': 'Tom', 'Age': 25}
my_dict['Age'] = 30
print("修改后的年龄为:", my_dict['Age'])
输出:
修改后的年龄为: 30
3. 删除键值对 可以使用del关键字删除字典中的键值对,例如:
my_dict = {'Name': 'Tom', 'Age': 25}
del my_dict['Age']
print("删除后的字典为:", my_dict)
输出:
删除后的字典为: {'Name': 'Tom'}
三、字典的遍历
字典的遍历指的是对字典中的所有键值对进行遍历。可以使用for循环来遍历字典,以下是遍历字典常用的方法: 1. 遍历所有键值对 以下代码演示如何遍历所有键值对:
my_dict = {'Name': 'Tom', 'Age': 25}
for key, value in my_dict.items():
print("Key:", key, " Value:", value)
输出:
Key: Name Value: Tom
Key: Age Value: 25
2. 遍历字典中所有键 以下代码演示如何遍历字典中的所有键:
my_dict = {'Name': 'Tom', 'Age': 25}
for key in my_dict.keys():
print("Key:", key)
输出:
Key: Name
Key: Age
3. 遍历字典中所有值 以下代码演示如何遍历字典中的所有值:
my_dict = {'Name': 'Tom', 'Age': 25}
for value in my_dict.values():
print("Value:", value)
输出:
Value: Tom
Value: 25
四、字典的复杂应用
字典在实际应用场景中有着非常广泛的用途。例如,可以用字典来进行快速的数据查询与处理。 以下是一个实例代码示例,用于存储不同城市每天的气温,并提供各种查询操作:
#创建字典,存储不同城市每天的气温
weather_dict = {'北京': [10, 6, 7, 8, 5, 7, 6],
'上海': [16, 17, 18, 16, 15, 17, 16],
'深圳': [24, 25, 26, 24, 23, 26, 27],
'广州': [26, 27, 28, 27, 26, 30, 25],
'杭州': [15, 16, 17, 19, 18, 20, 21],
'武汉': [17, 19, 20, 18, 18, 21, 20]}
#1. 查询某个城市的某一天的温度
print("北京第3天的温度为:", weather_dict['北京'][2])
#2. 查询某个城市的最高温度和最低温度
print("广州最高温度为:", max(weather_dict['广州']))
print("广州最低温度为:", min(weather_dict['广州']))
#3. 查询某段时间内某个城市的平均温度
start_day = 2
end_day = 5
city = '深圳'
temperature_list = weather_dict[city][start_day:end_day+1]
avg_temperature = sum(temperature_list)/len(temperature_list)
print("{}第{}到{}天的平均气温为:{}".format(city, start_day, end_day, avg_temperature))
#4. 查询某段时间内所有城市的平均温度
start_day = 2
end_day = 5
avg_temperature_dict = {}
for city, temperature_list in weather_dict.items():
temperature_list = temperature_list[start_day:end_day+1]
avg_temperature = sum(temperature_list)/len(temperature_list)
avg_temperature_dict[city] = round(avg_temperature, 1)
print("{}到{}天各城市平均气温:{}".format(start_day, end_day, avg_temperature_dict))
输出:
北京第3天的温度为: 7
广州最高温度为: 30
广州最低温度为: 25
深圳第2到5天的平均气温为:24.5
2到5天各城市平均气温:{'北京': 6.5, '上海': 16.5, '深圳': 24.5, '广州': 26.2, '杭州': 18.5, '武汉': 19.5}
五、总结
Python中的字典是一种非常灵活、实用的数据类型,能够大大提高数据查询、处理的效率。掌握字典的基本操作和遍历方式,可以让程序开发变得更为高效。在实际应用中,需要结合具体情况灵活运用,发挥字典类型所特有的优势,为程序开发和数据处理提供更好的支持。