Python 字典(Dict)详解与实战应用

字典是 Python 中一种重要的数据结构,它是键值对(key-value pair)的集合。字典的特点是:键必须是唯一的,并且通常是不可变的数据类型,如字符串、数字或元组;而值可以是任何类型的数据,包括列表、字典、甚至函数。

字典的基本操作

  1. 创建字典

可以使用花括号 {} 来创建字典,也可以使用 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)
  1. 访问和修改字典中的值

通过键来访问字典中的值,修改时可以直接使用赋值语句。

# 访问字典中的值
print(my_dict['name'])  # 输出: Alice

# 修改字典中的值
my_dict['age'] = 26
print(my_dict)  # 输出: {'name': 'Alice', 'age': 26, 'city': 'Beijing'}
  1. 添加和删除键值对

可以使用赋值语句来添加新键值对,使用 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'}
  1. 字典的遍历

可以使用 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

结论

字典是一种非常灵活且高效的数据结构,适用于需要快速查找和频繁修改的场景。掌握字典的基本操作和实战应用,无疑会增强我们在编程中的能力。在实际开发中,字典不仅可以用来存储数据,还能与其他数据结构结合使用,解决更复杂的问题。通过不断实践和探索,我们能够发掘出字典的更多用法,提高编程效率。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部