Python 字典(Dict)详解与实战应用
字典是 Python 中一种重要的数据结构,它是键值对(key-value pair)的集合。字典的特点是:键必须是唯一的,并且通常是不可变的数据类型,如字符串、数字或元组;而值可以是任何类型的数据,包括列表、字典、甚至函数。
字典的基本操作
- 创建字典
可以使用花括号 {}
来创建字典,也可以使用 dict()
函数。
# 使用花括号创建字典
my_dict = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
# 使用 dict() 函数创建字典
my_dict2 = dict(name='Bob', age=30, city='Shanghai')
print(my_dict)
print(my_dict2)
- 访问和修改字典中的值
通过键来访问字典中的值,修改时可以直接使用赋值语句。
# 访问字典中的值
print(my_dict['name']) # 输出: Alice
# 修改字典中的值
my_dict['age'] = 26
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'Beijing'}
- 添加和删除键值对
可以使用赋值语句来添加新键值对,使用 del
语句或 pop()
方法删除键值对。
# 添加键值对
my_dict['email'] = 'alice@example.com'
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'city': 'Beijing', 'email': 'alice@example.com'}
# 删除键值对
del my_dict['city']
print(my_dict) # 输出: {'name': 'Alice', 'age': 26, 'email': 'alice@example.com'}
# 使用 pop() 方法
age = my_dict.pop('age')
print(age) # 输出: 26
print(my_dict) # 输出: {'name': 'Alice', 'email': 'alice@example.com'}
- 字典的遍历
可以使用 items()
方法遍历字典的键值对,使用 keys()
和 values()
方法分别遍历字典的键和值。
# 遍历字典的键值对
for key, value in my_dict.items():
print(f'键: {key}, 值: {value}')
# 遍历字典的键
for key in my_dict.keys():
print(f'键: {key}')
# 遍历字典的值
for value in my_dict.values():
print(f'值: {value}')
实战应用
1. 统计词频
字典最常见的应用之一是统计文本中各个单词的出现频率。
text = "hello world hello python"
words = text.split() # 将文本按空格分割成单词
word_count = {}
for word in words:
word_count[word] = word_count.get(word, 0) + 1 # 用 get() 方法简化计数
print(word_count) # 输出: {'hello': 2, 'world': 1, 'python': 1}
2. 使用字典存储学生成绩
我们可以使用字典来存储学生的姓名和对应的成绩。
students = {
'Alice': 85,
'Bob': 90,
'Charlie': 78
}
def get_average_grade(students):
total = sum(students.values())
return total / len(students)
print(f'平均成绩: {get_average_grade(students):.2f}') # 输出: 平均成绩: 84.33
结论
字典是一种非常灵活且高效的数据结构,适用于需要快速查找和频繁修改的场景。掌握字典的基本操作和实战应用,无疑会增强我们在编程中的能力。在实际开发中,字典不仅可以用来存储数据,还能与其他数据结构结合使用,解决更复杂的问题。通过不断实践和探索,我们能够发掘出字典的更多用法,提高编程效率。