字典是Python中的键值对数据结构,可以通过键(key)快速访问对应的值(value)。# 示例:学生信息字典student = { 'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
方法对比表
🎯 测试数据
tinydict = { 'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
1️⃣ dict[key] - 直接访问
# ✅ 成功案例name = tinydict['Name']print(name) # 输出: Runoob# ❌ 失败案例try: gender = tinydict['Gender']except KeyError as e: print(f"错误: 键 {e} 不存在")
2️⃣ dict.get(key, default) - 安全访问 ⭐
# ✅ 获取存在的键name = tinydict.get('Name')print(name) # 输出: Runoob# ✅ 获取不存在的键,返回默认值gender = tinydict.get('Gender', 'Unknown')print(gender) # 输出: Unknown# 字典不会被修改print(tinydict)# {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
3️⃣ dict.setdefault(key, default) - 获取并设置
# 获取不存在的键(会添加到字典)gender = tinydict.setdefault('Gender', 'Unknown')print(gender) # 输出: Unknownprint(tinydict)# {'Name': 'Runoob', 'Age': 7, 'Class': 'First', 'Gender': 'Unknown'}
4️⃣ dict.pop(key, default) - 删除并返回
# 删除存在的键age = tinydict.pop('Age')print(age) # 输出: 7print(tinydict) # {'Name': 'Runoob', 'Class': 'First'}
实际应用场景
场景1:处理API返回的数据
user_data = {'Name': 'Runoob', 'Age': 7}# 安全获取数据name = user_data.get('Name', '未知用户')gender = user_data.get('Gender', '未填写')email = user_data.get('Email', 'no-email@example.com')
场景2:初始化配置参数
config = {'width': 1920, 'height': 1080}# 补全默认配置config.setdefault('quality', 75)config.setdefault('fps', 30)
场景3:清理敏感信息
user = {'Name': 'Runoob', 'Password': '123456'}# 移除敏感字段password = user.pop('Password', None)
✅ 推荐使用方法
# 1. 默认使用 get() 方法value = my_dict.get('key', default_value)# 2. 需要初始化时使用 setdefault()my_dict.setdefault('key', default_value)# 3. 需要删除时使用 pop()removed_value = my_dict.pop('key', None)
❌ 避免的做法
# 不检查就直接访问(容易报错)value = my_dict['key'] # 危险!
- dict[key]:直接但危险
- dict.get():最安全,生产环境首选 ⭐⭐⭐⭐⭐
- dict.setdefault():需要初始化时使用
- dict.pop():需要删除时使用