Merging two dictionaries
Peter Otten
__peter__ at web.de
Mon Aug 2 12:50:52 EDT 2010
Douglas Garstang wrote:
> On Mon, Aug 2, 2010 at 12:47 AM, Paul Rubin <no.email at nospam.invalid>
wrote:
>> If yes, then the following works for me:
>>
>> def merge(cluster, default):
>> # destructively merge default into cluster
>> for k,v in cluster.iteritems():
>> if k in default and type(v)==dict:
>> assert type(default(k))==dict
>> merge(v,default[k])
>> for k,v in default.iteritems():
>> if k not in cluster:
>> cluster[k] = v
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>
>
> Hmmm, using that gives me:
>
> Traceback (most recent call last):
> File "./test4.py", line 48, in ?
> merge(cluster, default)
> File "./test4.py", line 42, in merge
> assert type(default(k))==dict
> TypeError: 'dict' object is not callable
>
> where line 42 is 'assert type(default(k))==dict', and the inputs are:
Not making an attempt to understand the code that you are about to use?
default(k)
should be
default[k]
Peter
More information about the Python-list
mailing list