summaryrefslogtreecommitdiffstats
path: root/Lib/collections.py
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2011-01-02 08:03:33 (GMT)
committerRaymond Hettinger <python@rcn.com>2011-01-02 08:03:33 (GMT)
commit00d43fd05665e8584b20d19aff85ea9e3d4165e4 (patch)
treefe7a75a2f5cfdce18faf0955ae631b7775aa39b5 /Lib/collections.py
parent345c49b16b093399ad504711d55bad700ad7a33b (diff)
downloadcpython-00d43fd05665e8584b20d19aff85ea9e3d4165e4.zip
cpython-00d43fd05665e8584b20d19aff85ea9e3d4165e4.tar.gz
cpython-00d43fd05665e8584b20d19aff85ea9e3d4165e4.tar.bz2
Fix doctest to not rely on order of dictionary entries.
Use super() instead of direct references to the dict superclass.
Diffstat (limited to 'Lib/collections.py')
-rw-r--r--Lib/collections.py23
1 files changed, 12 insertions, 11 deletions
diff --git a/Lib/collections.py b/Lib/collections.py
index 36ee18a..f26c73e 100644
--- a/Lib/collections.py
+++ b/Lib/collections.py
@@ -366,16 +366,16 @@ class Counter(dict):
or multiset. Elements are stored as dictionary keys and their counts
are stored as dictionary values.
- >>> c = Counter('abracadabra') # count elements from a string
+ >>> c = Counter('abcdeabcdabcaba') # count elements from a string
>>> c.most_common(3) # three most common elements
- [('a', 5), ('r', 2), ('b', 2)]
+ [('a', 5), ('b', 4), ('c', 3)]
>>> sorted(c) # list all unique elements
- ['a', 'b', 'c', 'd', 'r']
+ ['a', 'b', 'c', 'd', 'e']
>>> ''.join(sorted(c.elements())) # list elements with repetitions
- 'aaaaabbcdrr'
+ 'aaaaabbbbcccdde'
>>> sum(c.values()) # total of all counts
- 11
+ 15
>>> c['a'] # count of letter 'a'
5
@@ -383,8 +383,8 @@ class Counter(dict):
... c[elem] += 1 # by adding 1 to each element's count
>>> c['a'] # now there are seven 'a'
7
- >>> del c['r'] # remove all 'r'
- >>> c['r'] # now there are zero 'r'
+ >>> del c['b'] # remove all 'b'
+ >>> c['b'] # now there are zero 'b'
0
>>> d = Counter('simsalabim') # make another counter
@@ -423,6 +423,7 @@ class Counter(dict):
>>> c = Counter(a=4, b=2) # a new counter from keyword args
'''
+ super().__init__()
self.update(iterable, **kwds)
def __missing__(self, key):
@@ -434,8 +435,8 @@ class Counter(dict):
'''List the n most common elements and their counts from the most
common to the least. If n is None, then list all element counts.
- >>> Counter('abracadabra').most_common(3)
- [('a', 5), ('r', 2), ('b', 2)]
+ >>> Counter('abcdeabcdabcaba').most_common(3)
+ [('a', 5), ('b', 4), ('c', 3)]
'''
# Emulate Bag.sortedByCount from Smalltalk
@@ -501,7 +502,7 @@ class Counter(dict):
for elem, count in iterable.items():
self[elem] = count + self_get(elem, 0)
else:
- dict.update(self, iterable) # fast path when counter is empty
+ super().update(iterable) # fast path when counter is empty
else:
_count_elements(self, iterable)
if kwds:
@@ -541,7 +542,7 @@ class Counter(dict):
def __delitem__(self, elem):
'Like dict.__delitem__() but does not raise KeyError for missing values.'
if elem in self:
- dict.__delitem__(self, elem)
+ super().__delitem__(elem)
def __repr__(self):
if not self: