[New-bugs-announce] [issue22533] Counter with no keys does not compare equal to Counter with keys which zero value
Ethan Furman
report at bugs.python.org
Wed Oct 1 21:49:03 CEST 2014
New submission from Ethan Furman:
According to the docs [1]:
> Counter objects have a dictionary interface except that they return a
> zero count for missing items instead of raising a KeyError
Which a simple test confirms:
--> Counter()['b']
0
However, if the key is present but set to zero, equality fails:
--> Counter() == Counter(b=0)
False
It is my thought that a Counter with all its keys set to zero is as empty as a Counter with no keys:
--> c1 = Counter()
--> c2 = Counter(a=0, b=0, c=0)
--> for item in c2.keys():
... assert c2[item] == c1[item]
(no execption raised)
[1] https://docs.python.org/2/library/collections.html#collections.Counter
----------
messages: 228111
nosy: ethan.furman
priority: normal
severity: normal
status: open
title: Counter with no keys does not compare equal to Counter with keys which zero value
type: behavior
versions: Python 2.7, Python 3.4, Python 3.5
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue22533>
_______________________________________
More information about the New-bugs-announce
mailing list