Actually, they are definitely different as in-place mutation versus returning a new Counter. But in some arithmetic way they look mostly the same.
On Tue, Oct 30, 2018, 7:19 PM David Mertz <me...@gnosis.cx wrote: > Counter doesn't QUITE do the same thing as this `mdict`. But it's pretty > close. > > I think if .__add__() became a synonym for .update() that wouldn't break > anything that currently works. But I'm probably wrong, and missing a case > in my quick thought: > > >>> from collections import Counter > >>> c = Counter(a=[2], b='a') > >>> c.update(c) > >>> c > Counter({'a': [2, 2], 'b': 'aa'}) > >>> c2 = Counter(a=1, b=2) > >>> c2 + c2 > Counter({'b': 4, 'a': 2}) > >>> c2.update(c2) > >>> c2 > Counter({'b': 4, 'a': 2}) > >>> c + c > Traceback (most recent call last): > File "<ipython-input-18-e88785f3c342>", line 1, in <module> > c + c > File "/anaconda3/lib/python3.6/collections/__init__.py", line 705, in > __add__ > if newcount > 0: > TypeError: '>' not supported between instances of 'list' and 'int' > > On Tue, Oct 30, 2018 at 6:54 PM Alexander Belopolsky < > alexander.belopol...@gmail.com> wrote: > >> > In [12]: a= mdict(a=[2], b='a') >> > In [13]: a+a >> >> Aren't you reinventing the Counter type? >> >> >>> from collections import Counter >> >>> c = Counter(a=1,b=2) >> >>> c + c >> Counter({'b': 4, 'a': 2}) >> _______________________________________________ >> Python-ideas mailing list >> Python-ideas@python.org >> https://mail.python.org/mailman/listinfo/python-ideas >> Code of Conduct: http://python.org/psf/codeofconduct/ >> > > > -- > Keeping medicines from the bloodstreams of the sick; food > from the bellies of the hungry; books from the hands of the > uneducated; technology from the underdeveloped; and putting > advocates of freedom in prisons. Intellectual property is > to the 21st century what the slave trade was to the 16th. >
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/