Add two dicts
Alex Martelli
aleax at aleax.it
Sat Aug 30 03:52:51 EDT 2003
Greg Brunet wrote:
> "Greg Brunet" <gregbrunet at NOSPAMsempersoft.com> wrote in message
> news:vl0gbotgl3sibf at corp.supernews.com...
>> But what about something like this:
>>
>> >>> class xdict(dict):
>> ... def __add__(self,dict2):
>> ... result = self.copy()
>> ... result = result.update(dict2)
...
> Ooops - that should have been:
> return result.update(dict2)
>
> in the last line, but still, shouldn't that have mapped the "+" operator
> for xdict objects?
You're returning None in both your actual code and the "should have been",
but the general approach is workable -- e.g. with Python 2.3:
>>> class xdict(dict):
... def __add__(self, other):
... return xdict(self, **other)
...
>>> xdict({1:2, 3:4})+{5:6}
{1: 2, 3: 4, 5: 6}
>>>
Alex
More information about the Python-list
mailing list