Python 字典知识点总结
Python 中的 字典(dict
)是一种内置的数据结构,用于存储键值对(key-value pairs)。它是无序的(Python 3.7 开始保持插入顺序),并且支持快速的查找、插入和删除操作。
1. 创建字典
方法 1: 使用大括号 {}
定义:
grades = {"语文": 90, "数学": 80, "英语": 85}
方法 2: 使用 dict()
函数:
grades = dict(语文=90, 数学=80, 英语=85)
方法 3: 从键值对列表创建:
grades = dict([("语文", 90), ("数学", 80), ("英语", 85)])
2. 字典的基本操作
访问值
使用键访问对应的值:
grades = {"语文": 90, "数学": 80}
print(grades["语文"]) # 输出: 90
如果键不存在,会抛出 KeyError
。可以用 get()
方法避免:
print(grades.get("英语", "未找到该科目"))
更新或新增键值对
grades["英语"] = 85 # 更新或新增键值对
print(grades) # 输出: {'语文': 90, '数学': 80, '英语': 85}
删除键值对
del grades["数学"] # 删除键为 "数学" 的键值对
print(grades) # 输出: {'语文': 90, '英语': 85}
检查键是否存在
if "语文" in grades:
print("语文成绩存在")
3. 遍历字典
遍历键
for key in grades:
print(key) # 输出: 语文 数学 英语
遍历值
for value in grades.values():
print(value) # 输出: 90 80 85
遍历键值对
for key, value in grades.items():
print(f"{key}: {value}") # 输出: 语文: 90 数学: 80 英语: 85
4. 字典常用方法
获取所有键、值或键值对
keys = grades.keys() # 获取所有键:dict_keys(['语文', '数学', '英语'])
values = grades.values() # 获取所有值:dict_values([90, 80, 85])
items = grades.items() # 获取键值对:dict_items([('语文', 90), ('数学', 80), ('英语', 85)])
合并字典
extra_grades = {"物理": 88, "化学": 92}
grades.update(extra_grades)
print(grades) # 输出: {'语文': 90, '数学': 80, '英语': 85, '物理': 88, '化学': 92}
清空字典
grades.clear() # 清空所有键值对
浅拷贝字典
grades_copy = grades.copy()
5. 字典的特点
- 键唯一:字典的键不能重复,如果出现重复,后面的值会覆盖前面的值。
grades = {"语文": 90, "语文": 95} print(grades) # 输出: {'语文': 95}
- 键必须是不可变对象:如字符串、数字、元组等。
invalid_dict = {[1, 2]: "list as key"} # 报错:TypeError
6. 示例:学生成绩管理系统
# 定义字典
grades = {"语文": 90, "数学": 80, "英语": 85}
# 添加一门课程
grades["物理"] = 88
# 修改成绩
grades["数学"] = 95
# 删除课程
del grades["英语"]
# 遍历输出
for course, grade in grades.items():
print(f"{course}: {grade}")
输出结果:
语文: 90
数学: 95
物理: 88
总结
字典是非常高效且灵活的数据结构,广泛用于实际编程中,例如存储配置、实现简单数据库、计数频率等。
Comments 1 条评论
有没有线下代打b哥