collections - Specialized Container Datatypes
The collections module implements specialized container datatypes providing alternatives to Python's general purpose built-in containers like dict, list, set, and tuple.
🔍 Container Types
Core Containers
- Counter - Dict subclass for counting hashable objects
- defaultdict - Dict subclass with factory function for missing values
- deque - List-like container with fast appends/pops from both ends
- namedtuple - Factory function for tuple subclasses with named fields
Advanced Containers
- OrderedDict - Dict subclass that remembers insertion order
- ChainMap - Dict-like class for creating a single view of multiple mappings
User-Defined Containers
- UserDict - Wrapper around dict for easier subclassing
- UserList - Wrapper around list for easier subclassing
- UserString - Wrapper around string for easier subclassing
Abstract Base Classes
- abc - Abstract base classes for containers
🚀 Quick Reference
| Type | Use Case | Key Methods |
|---|---|---|
Counter | Counting items | most_common(), elements() |
defaultdict | Avoiding KeyError | Automatic missing value creation |
deque | Fast queue operations | appendleft(), popleft() |
namedtuple | Structured data | Access by name and index |
OrderedDict | Order preservation | Ordered iteration (less needed in Python 3.7+) |
ChainMap | Multiple dicts | Single view of multiple mappings |