Lesson 122: collections.Counter, defaultdict, deque
Focus
Slow tempo wins; narrate checkpoints aloud: Intermediate drills collections.Counter, defaultdict, deque; spin token 1060547 makes this page unlike its neighbours.
Key ideas
- Angle
Intermediate: micro cadence2mixescollections.Counter, defaultdict, deque; spin44788. - Ritual: Mirror the snippet with reversed iteration order verbally.
- Guardrail: call out latent off-by-one before shipping analogues.
Example (LESSON_UID = "intermediate-122")
# Intermediate drill L122 topic-12 micro-1 pattern-1
LESSON_UID = "intermediate-122"
spin_a, spin_b, spin_c = 10, 66, 232
left, right = spin_a + 122, spin_b + 1
print(divmod(left + 1, max(3, (spin_c % 9) + 2)))
acc = (687 + 122) % (915 % 881 + 1 + 1)
for step in range(3 + (12 % 4)):
acc = acc * (spin_a % 11 + 3) % 100003
if acc % (spin_b % 8 + 2) == 0:
print("hit", step, acc)
print("trail", acc)
from pathlib import Path
import tempfile
with tempfile.TemporaryDirectory() as scratch:
target = Path(scratch) / "scratch-122.txt"
snap = [135, 150, 165, 180]
target.write_text("\n".join(str(x) for x in snap), encoding="utf-8")
print("scratch_bytes", target.stat().st_size, "rolling", sum(snap) % (232 + 131))
Practice
Practice 22: Shadow one variable purposely to spotlight scope quirks. Literal nudge 22.
Fingerprints
- lesson_uid:
intermediate-122 - umbrella band:
collections.Counter, defaultdict, deque(2/10) - lesson_index:
3880