On Fri, 1 Mar 2019 at 14:50, Eric V. Smith <e...@trueblade.com> wrote:
> On 3/1/2019 9:38 AM, INADA Naoki wrote: > > Sorry, I'm not good at English enough to explain my mental model. > > > > I meant no skip, no ignorance, no throw away. > > > > In case of 1+2=3, both of 1 and 2 are not skipped, ignored or thrown > away. > > > > On the other hand, in case of {a:1, b:2}+{a:2}={a:2, b:2}, I feel {a:1} > > is skipped, ignored, or thrown away. I used "lost" to explain it. > > > > And I used "lossless" for "there is no lost". Not for reversible. > > > > If it isn't understandable to you, please ignore me. > > > > I think Rémi’s comment is very similar to my thought. Merging mapping > > is more complex than concatenate sequence and it seems hard to call it > > "sum". > > I understand Inada to be saying that each value on the LHS (as shown > above) affects the result on the RHS. That's the case with addition of > ints and other types, but not so with the proposed dict addition. As he > says, the {a:1} doesn't affect the result. The result would be the same > if this key wasn't present in the first dict, or if the key had a > different value. > > This doesn't bother me, personally. I'm just trying to clarify. > OK, thanks for explaining! So more formally speaking, you want to say that for other examples of '+' in Python x1 + y == x2 + y if and only if x1 == x2, while for the proposed '+' for dicts there may be many different x_i such that x_i + y gives the same result. This doesn't bother me either, since this is not a critical requirement for addition. I would say this is rather a coincidence than a conscious decision. -- Ivan
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/