normal dict
raises Keyerror
after querying keys that don't exist
>>> from collections import defaultdict
>>> my_dict = {"one": 1, "two": 2}
>>> my_dict["three"]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'three'
but by using a lamda
in a deafultdict
we can set default values for undefined keys
# create a default dict, from a dict
>>> my_def_dict = defaultdict(lambda: -1, my_dict)
>>> my_def_dict["zero"]
-1
# create an empty default dict
>>> empty_def_dict = defaultdict(lambda: true)
# add key-value pairs here
Top comments (0)