dict.setdefault() 键不存在时设默认值
最后更新:2026-09-22
dict.setdefault() 键不存在时设默认值
dict.setdefault(key[, default]) 若 key 存在返回值,否则插入 key:default 并返回 default。
| 分类 | 字典方法 |
|---|---|
| 类型 | 内建类型方法 |
| Python 版本 | all |
📝 语法
dict.setdefault(key[, default])
⚙️ 参数
| key 必选 | 要获取的键。 |
|---|---|
| default 可选 | 键不存在时插入的值,默认 None。(默认值:None) |
返回值:键的值;不存在时插入 key:default 并返回 default。
是否修改原对象:是(原地修改)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
1
99
{'a': 1, 'b': 99}
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qsetdefault() 到底做了什么?
A键存在则返回它的值(不修改);键不存在则插入 key: default 并返回 default。返回值永远是"键对应的值"。
Q和 get() 的区别?
Aget() 找不到键只是返回默认值、不写入字典;setdefault() 会把默认值写进字典。
Q默认值会被立即求值吗?
A会!d.setdefault('k', []) 即使 'k' 已存在也会先创建一个空列表再丢弃。频繁调用时改用 collections.defaultdict 更高效。
Q有什么典型用法?
A分组统计:d.setdefault(category, []).append(item);单词计数:d[w] = d.setdefault(w, 0) + 1。