class collections.defaultdict([default_factory[, ...]])
Returns a new dictionary-like object. defaultdict
is a subclass of the built-in dict
class. It overrides one method and adds one writable instance variable. The remaining functionality is the same as for the dict
class and is not documented here.
The first argument provides the initial value for the default_factory
attribute; it defaults to None
. All remaining arguments are treated the same as if they were passed to the dict
constructor, including keyword arguments.
defaultdict
objects support the following method in addition to the standard dict
operations:
-
__missing__(key)
-
If the
default_factory
attribute isNone
, this raises aKeyError
exception with the key as argument.If
default_factory
is notNone
, it is called without arguments to provide a default value for the given key, this value is inserted in the dictionary for the key, and returned.If calling
default_factory
raises an exception this exception is propagated unchanged.This method is called by the
__getitem__()
method of thedict
class when the requested key is not found; whatever it returns or raises is then returned or raised by__getitem__()
.Note that
__missing__()
is not called for any operations besides__getitem__()
. This means thatget()
will, like normal dictionaries, returnNone
as a default rather than usingdefault_factory
.
defaultdict
objects support the following instance variable:
-
default_factory
-
This attribute is used by the
__missing__()
method; it is initialized from the first argument to the constructor, if present, or toNone
, if absent.
Please login to continue.