On Wed, Feb 27, 2019 at 10:22 AM Anders Hovmöller <bo...@killingar.net>
wrote:

> I dislike the asymmetry with sets:
>
> > {1} | {2}
> {1, 2}
>
> To me it makes sense that if + works for dict then it should for set too.
>
> / Anders
>
> > On 27 Feb 2019, at 17:25, João Matos <jcrma...@gmail.com> wrote:
> >
> > Hello,
> >
> > I would like to propose that instead of using this (applies to Py3.5 and
> upwards)
> > dict_a = {**dict_a, **dict_b}
> >
> > we could use
> > dict_a = dict_a + dict_b
>


The dict subclass collections.Counter overrides the update method for
adding values instead of overwriting values.

https://docs.python.org/3/library/collections.html#collections.Counter.update

Counter also uses +/__add__ for a similar behavior.

    >>> c = Counter(a=3, b=1)
    >>> d = Counter(a=1, b=2)
    >>> c + d # add two counters together:  c[x] + d[x]
    Counter({'a': 4, 'b': 3})

At first I worried that changing base dict would cause confusion for the
subclass, but Counter seems to share the idea that update and + are
synonyms.
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to