字典
掌握字典的定义与键值对结构
熟练进行字典的增删改查操作
能区分字典和列表的适用场景
核心讲解
字典是用来存储键值对的容器,通过键(key)来快速查找值(value),就像查字典一样,通过拼音找汉字。
(1)字典的特点
用
{}包裹,键和值用冒号分隔,键值对用逗号分隔键必须是唯一的、不可变类型(字符串、数字、元组),一般用字符串
值可以是任意类型,可以重复
Python3.7 + 字典是有序的,按插入顺序排列
查询速度非常快,不受数据量大小影响
(2)基本操作
访问值:
字典[key],键不存在会报错;get(key)方法更安全,不存在返回 None修改 / 添加:
字典[key] = 新值,键存在就是修改,不存在就是添加删除:
pop(key)删除指定键值对,clear()清空字典获取长度:
len()
(3)常用方法
keys():获取所有键values():获取所有值items():获取所有键值对,常用于遍历update():合并另一个字典
(4)列表和字典的选择
列表:有序的一组数据,用索引访问,适合存储同类的批量数据
字典:键值映射关系,用键访问,适合存储一个事物的多个属性
代码示例
# 创建字典
student = {
"name": "张三",
"age": 20,
"major": "计算机",
"is_vip": True
}
# 访问值
print(student["name"]) # 张三
print(student.get("age")) # 20
print(student.get("gender", "未知")) # 键不存在返回默认值
# 添加键值对
student["score"] = 95
# 修改值
student["age"] = 21
# 删除
student.pop("is_vip")
print(student)
# 遍历字典
print("\n遍历键值对:")
for key, value in student.items():
print(f"{key}: {value}")
# 所有键和值
print("\n所有键:", list(student.keys()))
print("所有值:", list(student.values()))
常见误区
用不存在的键访问:直接用
[]访问不存在的键会报 KeyError,推荐用 get 方法键可变:用列表作为键会报错,键必须是不可变类型
键重复:后面的键值对会覆盖前面的,键必须唯一
字典是无序的认知:旧版本 Python 字典无序,3.7 + 是有序的
课后练习
创建一个字典存储你的个人信息(姓名、年龄、城市、爱好)
完成以下操作:添加一个新的属性、修改年龄、删除爱好
遍历字典,输出所有的键和对应的值
思考:为什么字典的查询速度比列表快?

