Python Dictionary setdefault()

The syntax of setdefault() is:

dict.setdefault(key[, default_value])

setdefault() Parameters

setdefault() takes a maximum of two parameters:

  • key - the key to be searched in the dictionary
  • default_value (optional) - key with a value default_value is inserted to the dictionary if the key is not in the dictionary.
    If not provided, the default_value will be None.

Return Value from setdefault()

setdefault() returns:

  • value of the key if it is in the dictionary
  • None if the key is not in the dictionary and default_value is not specified
  • default_value if key is not in the dictionary and default_value is specified

Recommended Reading: Python Dictionary


Example 1: How setdefault() works when key is in the dictionary?

person = {'name': 'Phill', 'age': 22}

age = person.setdefault('age')
print('person = ',person)
print('Age = ',age)

Output

person =  {'name': 'Phill', 'age': 22}
Age =  22

Example 2: How setdefault() works when key is not in the dictionary?

person = {'name': 'Phill'}

# key is not in the dictionary
salary = person.setdefault('salary')
print('person = ',person)
print('salary = ',salary)

# key is not in the dictionary
# default_value is provided
age = person.setdefault('age', 22)
print('person = ',person)
print('age = ',age)

Output

person =  {'name': 'Phill', 'salary': None}
salary =  None
person =  {'name': 'Phill', 'age': 22, 'salary': None}
age =  22

Also Read:

Did you find this article helpful?

Your builder path starts here. Builders don't just know how to code, they create solutions that matter.

Escape tutorial hell and ship real projects.

Try Programiz PRO
  • Real-World Projects
  • On-Demand Learning
  • AI Mentor
  • Builder Community