[Python-ideas] dict.merge(d1, d2, ...) (Counter proposal for PEP 584)
Terry Reedy
tjreedy at udel.edu
Thu Mar 21 21:36:20 EDT 2019
On 3/21/2019 12:11 PM, Guido van Rossum wrote:
> On Thu, Mar 21, 2019 at 7:45 AM Antoine Pitrou
>> One should also be able to write `d = dict.merge(d1, d2, ...)`
>
> If dict merging is important enough to get a new spelling, then I think
> this proposal is the best: explicit, unambiguous, immediately
> understandable and easy to remember.
>
>
> I don't find it easy to understand or remember that d1.update(d2)
> modifies d1 in place, while d1.merge(d2) first copies d1.
>
> Maybe the name can indicate the copying stronger? Like we did with
> sorting: l.sort() sorts in-place, while sorted(l) returns a sorted copy.
I counted what I believe to be 10 instances of copy-update in the top
level of /lib. Do either of you consider this to be enough that any
addition would be worthwhile.
There are 3 in idlelib that I plan to replace with {**a, **b} and be
done with the issue. I did not check any other packages.
--
Terry Jan Reedy
More information about the Python-ideas
mailing list