dict.setdefault() Set if absent

Last updated: 2026-09-22

dict.setdefault() Set if absent

dict.setdefault(key[, default]) returns value for key if present, else inserts key:default and returns default.

CategoryDict Methods
KindBuilt-in Type Method
Python Versionall

📝 Syntax

dict.setdefault(key[, default])

⚙️ Parameters

key RequiredThe key to look up.
default OptionalValue to insert when the key is missing; default None.(Default:None)

Returns:The value for key; if missing, inserts key:default and returns default.

Mutates the original:Yes (in place)

▶ Example

Edit the code, press Run, and see the result in the output panel:

Output:

1
99
{'a': 1, 'b': 99}
More case studies coming soon — check back later.

❓ FAQ

QWhat exactly does setdefault() do?
AIf the key exists it returns its value (without modifying it); if it does not, it inserts key: default and returns default. The return value is always "the value corresponding to the key".
QWhat is the difference from get()?
Aget() only returns the default when the key is missing and does not write to the dict; setdefault() writes the default into the dict.
QIs the default value evaluated immediately?
AYes! d.setdefault('k', []) creates an empty list first even when 'k' already exists, then discards it. When called frequently, use collections.defaultdict for better efficiency.
QWhat are typical usages?
AGrouping: d.setdefault(category, []).append(item); word counting: d[w] = d.setdefault(w, 0) + 1.
Web-Tutorial.com

Web-Tutorial Tech Team

A team of developers maintaining programming tutorials. Each tutorial is written and reviewed by developers with expertise in that field. We work to keep our content accurate and reliable — if you spot an issue, please let us know.

100%

🙏 帮我们做得更好

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

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