On Wed, Nov 14, 2012 at 8:28 PM, Stephen J. Turnbull <step...@xemacs.org> wrote: > Chris Angelico writes: > > > >>> {"a":1}+{"b":2} > > > It would make sense for this to result in {"a":1,"b":2}. > > The test is not "does this sometimes make sense?" It's "does this > ever result in nonsense, and if so, do we care?" > > Here, addition is usually commutative. Should {'a':1}+{'a':2} be the > same as, or different from, {'a':2}+{'a':1}, or should it be an error?
Easy: dict should have a (user substitutable) collision function that is called in these cases. This would allow significant functionality with practically no cost. In addition, it could be implemented in such a way as to offer significant speedups (when using dict.update for example) over any possible hand-written substitutes (since it's only run on key collisions and otherwise uses an underlying loop coded in C). mark _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com