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。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏