<div dir="auto"><div>"foo" + "bar" != "bar" + "foo"<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 27, 2019, 12:35 PM George Castillo <<a href="mailto:gmcastil@gmail.com">gmcastil@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">The key conundrum that needs to be solved is what to do for `d1 + d2` when there are overlapping keys. I propose to make d2 win in this case, which is what happens in `d1.update(d2)` anyways. If you want it the other way, simply write `d2 + d1`.</blockquote><div><br></div><div>This would mean that addition, at least in this particular instance, is not a commutative operation.  Are there other places in Python where this is the case?<br><br>~ George</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 27, 2019 at 10:06 AM Guido van Rossum <<a href="mailto:guido@python.org" target="_blank" rel="noreferrer">guido@python.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Feb 27, 2019 at 8:50 AM Rhodri James <<a href="mailto:rhodri@kynesim.co.uk" target="_blank" rel="noreferrer">rhodri@kynesim.co.uk</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 27/02/2019 16:25, João Matos wrote:<br>> I would like to propose that instead of using this (applies to Py3.5 and upwards)<br>
> dict_a = {**dict_a, **dict_b}<br>
> <br>
> we could use<br>
> dict_a = dict_a + dict_b<br>
> <br>
> or even better<br>
> dict_a += dict_b<br>
<br>
While I don't object to the idea of concatenating dictionaries, I feel <br>
obliged to point out that this last is currently spelled <br>
dict_a.update(dict_b)<br></blockquote></div><div><br></div><div>This is likely to be controversial. But I like the idea. After all, we have `list.extend(x)` ~~ `list += x`. The key conundrum that needs to be solved is what to do for `d1 + d2` when there are overlapping keys. I propose to make d2 win in this case, which is what happens in `d1.update(d2)` anyways. If you want it the other way, simply write `d2 + d1`.<br></div><div><br></div>-- <br><div dir="ltr" class="m_5625389350888348071gmail-m_-6218951923393067923gmail_signature">--Guido van Rossum (<a href="http://python.org/~guido" target="_blank" rel="noreferrer">python.org/~guido</a>)</div></div>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank" rel="noreferrer">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
</blockquote></div>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank" rel="noreferrer">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
</blockquote></div></div></div>