Python字典详解:从入门到实践
字典(Dictionary)是Python中最重要且最常用的数据结构之一。本文将深入讲解字典的特性、操作方法和实际应用案例。
1. 字典简介
字典是可变的、无序的键值对集合,使用{}
创建。每个元素由key: value
组成,具有以下特点:
- 键(key)必须唯一且不可变(字符串、数字、元组)
- 值(value)可以是任意类型
- 查找速度快(基于哈希表实现)
# 创建字典
student = {"name": "Alice","age": 20,"courses": ["Math", "Physics"]
}
2. 基本操作
2.1 访问元素
print(student["name"]) # Alice
print(student.get("age")) # 20(推荐方式,避免KeyError)
2.2 添加/修改元素
student["email"] = "alice@example.com" # 添加新键值对
student["age"] = 21 # 修改已有值
2.3 删除元素
del student["courses"] # 删除指定键
age = student.pop("age") # 删除并返回值
3. 常用方法
3.1 遍历字典
# 遍历键
for key in student.keys():print(key)# 遍历键值对
for key, value in student.items():print(f"{key}: {value}")
3.2 合并字典
grades1 = {"Math": 90, "English": 85}
grades2 = {"Physics": 88, "Chemistry": 92}
grades1.update(grades2)
3.3 其他实用方法
# 获取所有键
keys = list(student.keys())# 设置默认值
scores = student.setdefault("scores", {})# 清空字典
student.clear()
4. 高级应用
4.1 字典推导式
squares = {x: x**2 for x in range(1, 6)}
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
4.2 嵌套字典
employees = {1001: {"name": "John","department": "IT","projects": ["A", "B"]},1002: {"name": "Emma","department": "HR"}
}
5. 综合案例:学生管理系统
def student_management():students = {}while True:print("\n1. 添加学生\n2. 查询学生\n3. 删除学生\n4. 退出")choice = input("请选择操作:")if choice == "1":student_id = input("学号:")name = input("姓名:")students[student_id] = {"name": name}elif choice == "2":student_id = input("输入查询学号:")print(students.get(student_id, "学生不存在"))elif choice == "3":student_id = input("输入删除学号:")if student_id in students:del students[student_id]print("删除成功")else:print("学生不存在")elif choice == "4":breakstudent_management()
总结
字典作为Python的核心数据结构,具有以下优势:
- 快速查找(O(1)时间复杂度)
- 灵活的数据组织方式
- 支持复杂数据嵌套
- 丰富的内置方法
掌握字典的使用可以显著提升编程效率,建议通过实际项目多加练习!