Python字典常用方法实战指南
在日常写代码时,处理数据是家常便饭。比如你做个学生成绩管理系统,或者配置一个用户偏好设置,用 Python 的字典(dict)再合适不过了。它就像个通讯录,名字对应电话,键对应值,查起来飞快。
下面这几个字典方法,几乎每天都会用到,熟练掌握能省不少事。
1. get():安全取值不报错
想取某个键的值,但不确定键存不存在?直接用中括号会出错。这时候用 get() 更稳妥。
user = {"name": "小明", "age": 25}
print(user.get("name")) # 输出:小明
print(user.get("email")) # 输出:None
print(user.get("email", "未填写")) # 输出:未填写第二个参数是默认值,键不存在时就返回它,特别适合处理表单或用户输入。
2. keys() 和 values():分别取出键和值
有时候你想看看字典里都有哪些人,或者统计所有成绩,就可以用这两个方法。
score = {"数学": 90, "英语": 85, "物理": 78}
print(list(score.keys())) # ["数学", "英语", "物理"]
print(list(score.values())) # [90, 85, 78]配合 for 循环遍历特别方便。
3. items():同时获取键和值
要同时处理键和值,比如打印每个人的成绩,items() 就派上用场了。
for subject, mark in score.items():
print(f"{subject} 得了 {mark} 分")
# 输出:
# 数学 得了 90 分
# 英语 得了 85 分
# 物理 得了 78 分这个在格式化输出或者转换数据结构时非常实用。
4. update():批量更新字典
你有一个基础配置,用户又改了几项,用 update() 可以轻松合并。
config = {"theme": "dark", "font_size": 14}
user_setting = {"font_size": 16, "auto_save": True}
config.update(user_setting)
print(config) # {"theme": "dark", "font_size": 16, "auto_save": True}后面的字典会覆盖前面相同的键,很适合做配置叠加。
5. pop():删掉指定键并拿到它的值
要移除某个键,还想知道它原来的值?pop() 一步到位。
cache = {"token": "abc123", "expires": 3600}
old_token = cache.pop("token")
print(old_token) # abc123
print(cache) # {"expires": 3600}像清理临时数据、实现缓存过期机制都很有用。
6. setdefault():键不存在时设个默认值
往字典里加数据时,如果键还没出现过,就给它设个初始值,否则就不动它。
words = {"python": 1}
words.setdefault("java", 0)
words.setdefault("python", 0) # 已存在,不会改变
print(words) # {"python": 1, "java": 0}统计词频时特别好用,避免手动判断键是否存在。
这些方法看似简单,但在实际项目里天天见。比如你写个购物车,用字典存商品和数量,get() 判断是否已添加,update() 修改数量,items() 遍历结算,一套操作下来顺滑得很。多练几次,自然就熟了。