How to construct a defaultdict from a dictionary?
Question:
If I have d=dict(zip(range(1,10),range(50,61)))
how can I build a collections.defaultdict
out of the dict
?
The only argument defaultdict
seems to take is the factory function, will I have to initialize and then go through the original d
and update the defaultdict
?
Answers:
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.
from collections import defaultdict
d=defaultdict(int, zip(range(1,10),range(50,61)))
Or given a dictionary d
:
from collections import defaultdict
d=dict(zip(range(1,10),range(50,61)))
my_default_dict = defaultdict(int,d)
You can construct a defaultdict from dict, by passing the dict as the second argument.
from collections import defaultdict
d1 = {'foo': 17}
d2 = defaultdict(int, d1)
print(d2['foo']) ## should print 17
print(d2['bar']) ## should print 1 (default int val )
You can create a defaultdict with a dictionary by using a callable.
from collections import defaultdict
def dict_():
return {'foo': 1}
defaultdict_with_dict = defaultdict(dict_)
If I have d=dict(zip(range(1,10),range(50,61)))
how can I build a collections.defaultdict
out of the dict
?
The only argument defaultdict
seems to take is the factory function, will I have to initialize and then go through the original d
and update the defaultdict
?
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.
from collections import defaultdict
d=defaultdict(int, zip(range(1,10),range(50,61)))
Or given a dictionary d
:
from collections import defaultdict
d=dict(zip(range(1,10),range(50,61)))
my_default_dict = defaultdict(int,d)
You can construct a defaultdict from dict, by passing the dict as the second argument.
from collections import defaultdict
d1 = {'foo': 17}
d2 = defaultdict(int, d1)
print(d2['foo']) ## should print 17
print(d2['bar']) ## should print 1 (default int val )
You can create a defaultdict with a dictionary by using a callable.
from collections import defaultdict
def dict_():
return {'foo': 1}
defaultdict_with_dict = defaultdict(dict_)