> 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