Python Dictionary of DefaultDicts -


i trying build dictionary containing defaultdicts:

from collections import defaultdict  my_dict = { 'first_key':defaultdict(list) }  my_dict['first_key'].extend('add list') 

...but returns: attributeerror: 'collections.defaultdict' object has no attribute 'extend'

suggestions? thanks.

correct me if i'm wrong, don't think want dictionary of defaultdicts this. you're trying accomplished using built-in dict method setdefault:

>>> my_dict = {} >>> my_dict.setdefault('numbers', []).extend([1, 2, 3]) >>> my_dict {u'numbers': [1, 2, 3]} >>> my_dict.setdefault('numbers', []).append(4) >>> my_dict {u'numbers': [1, 2, 3, 4]} 

setdefault takes (possibly missing) key , default initialize if is missing. if key there, returns it.

as john kugelman points out in comments, can accomplished using defaultdict in normal way:

>>> collections import defaultdict >>> my_dict = defaultdict(list) >>> my_dict defaultdict(<type 'list'>, {}) >>> my_dict['numbers'].extend([1, 2, 3]) >>> my_dict defaultdict(<type 'list'>, {u'numbers': [1, 2, 3]}) >>> my_dict['numbers'].append(4) >>> my_dict defaultdict(<type 'list'>, {u'numbers': [1, 2, 3, 4]}) 

Comments