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.
| Category | Dict Methods |
|---|---|
| Kind | Built-in Type Method |
| Python Version | all |
📝 Syntax
dict.setdefault(key[, default])
⚙️ Parameters
| key Required | The key to look up. |
|---|---|
| default Optional | Value 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}
💡 Related Cases
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.