> However It does not work as I would need.
> Let's suppose I have
> 
>  a={'c':1,'d':2}
>  b={'c':2}
> but
>  a.update(b)
> will make
> {'c': 2, 'd': 2}
> 
> and I would need
> {'c': 3, 'd': 2}

Ah...a previously omitted detail.

There are likely a multitude of ways to do it.  However, the one 
that occurs to me off the top of my head would be something like

dict((k, a.get(k, 0) + b.get(k, 0)) for k in a.keys()+b.keys())


If the sets are huge, you can use itertools

 >>> from itertools import chain
 >>> dict((k, a.get(k, 0) + b.get(k, 0)) for k in 
chain(a.keys(),b.keys()))
{'c': 3, 'd': 2}

which would reduce the need for creating the combined dictionary, 
only to throw it away.

-tkc





-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to