Skip to main content
The collections module provides specialized container datatypes that extend or provide alternatives to Python’s built-in containers (dict, list, set, tuple).

Module Import

Counter - Count Hashable Objects

Dictionary subclass for counting hashable objects.

Creating Counter

Counter Operations

Counter Arithmetic

defaultdict - Dict with Default Values

Dictionary subclass that provides default values for missing keys.

Creating defaultdict

Practical Uses

deque - Double-Ended Queue

List-like container with fast appends and pops on both ends.

Creating deque

deque Operations

deque Use Cases

namedtuple - Tuple with Named Fields

Factory function for creating tuple subclasses with named fields.

Creating namedtuple

namedtuple Features

OrderedDict - Dictionary That Remembers Order

As of Python 3.7+, regular dicts maintain insertion order. OrderedDict is mainly useful for its additional methods.

ChainMap - Combine Multiple Dicts

Groups multiple dictionaries into a single view.

Practical Examples

Word Frequency Analysis

LRU Cache Implementation

Group Items by Property

Sliding Window Average

Best Practices

Use Counter for frequency analysis: Counter is optimized for counting and provides useful methods like most_common().
Use deque for queues and stacks: deque has O(1) append and pop from both ends, unlike lists.

Built-in Types

Standard container types

itertools

Iterator building blocks

heapq

Heap queue algorithm