On 3/16/2019 8:01 AM, Gustavo Carneiro wrote:
On Sat, 16 Mar 2019 at 10:33, Steven D'Aprano
<st...@pearwood.info
<mailto:st...@pearwood.info>> wrote:
The question this PEP is trying to answer is not "can we support every
use-case imaginable for a merge operator?" but "can we support the most
typical use-case?", which I believe is a version of:
new = a.copy()
new.update(b)
# do something with new
In my census of the stdlib, already posted and noted as subject to
error, this was twice as common as all other non-update-in-place
constructions (8 to 4) and about 1/4 as common as update in place (8 to
35).
Already been said, but might have been forgotten, but the new proposed
syntax:
new = a + b
has to compete with the already existing syntax:
new = {**a, **b}
Thank you and whoever mentioned it first on this thread. I will look at
using this in idlelib. There is one place where .update is called 3
times on the same initial dict in multiple lines.
I wonder if this is only a matter of time, and over time programmers
will become more accustomed to "{**a, **b}"
I never paid this much attention as I did not know of any immediate use
in my personal work (and there has not been yet) and I did not think
about looking at idlelib.
--
Terry Jan Reedy
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/