PYTHON Reference Guide
Revision Time: 2 mins
Collections Reference
Advanced collections: Counters, defaultdicts, and double-ended queues.
Counter
Return: CounterCount frequency of elements in an iterable.
Used In: Log parsing, aggregate counts.
Syntax signature:
collections.Counter(iterable)Code snippet:
python
from collections import Counter
c = Counter(['OOM', 'OOM', 'Success'])
print(c['OOM'])Expected Output:
2Common Mistakes:Assuming missing key raises KeyError; Counter returns 0 for missing items.
Related Methods: most_common()
Comparison:
Counter vs manual dict counting: Counter does not require membership checks or initializer counts.
Remember: Inherits from dict, providing O(1) access to frequencies.
defaultdict
Return: defaultdictDict subclass that calls a factory function to supply missing values.
Used In: Grouping pipeline metrics, parsing graph adjacency lists.
Syntax signature:
collections.defaultdict(default_factory)Code snippet:
python
from collections import defaultdict
d = defaultdict(list)
d['users'].append('Alex')
print(dict(d))Expected Output:
{'users': ['Alex']}Common Mistakes:Accessing keys inadvertently creates them with default values.
Related Methods: dict.setdefault()
Comparison:
defaultdict vs dict.setdefault(): defaultdict creates elements on access; setdefault() requires explicitly passing default parameters on calls.
Remember: Replaces verbose if key not in dict checks.