Skip to main content

Data Structures with `collections`

Standard Library

collections Module Tour

`collections` upgrades built-in data structures with specialized versions tuned for real workloads.

Workhorses

collections recipes
TypeUse case
CounterCount occurrences or run frequency analysis
defaultdictGroup items without manual key checks
dequeFast appends/popleft for queues
namedtupleLightweight, immutable records
OrderedDictMaintain insertion order (pre-3.7)
ChainMapView multiple dicts as one

Sample snippet

from collections import Counter, defaultdict

counts = Counter(["ok", "fail", "ok"])
grouped = defaultdict(list)
for order in orders:
grouped[order.customer_id].append(order)

Ecosystem tips

  • Combine deque with itertools sliding windows.
  • Convert namedtuple to dataclasses when you need methods or defaults.
  • Use Counter.most_common() for leaderboard-style logic.

Next up in your learning path