Python Counters @PyDiff
On Monday I gave a talk at PyDiff on the subject of Python Counters. A Counter is a specialised dict
which has much in common with a set
. Of course all dicts are like sets, but with Counters the resemblance is even stronger. The documentation states:
The Counter class is similar to bags or multisets in other languages.
Alongside set operations of union, intersection and is-a-subset, Counter also supports addition and subtraction — natural and unsurprising operations for a container whose job is to keep count of its elements. If you want to unite the contents of two Counters, it’s probably +
you want rather than |
.
Counters came to mind as a lightning talk subject since I had a go at the Advent of Code last year and used no fewer than 12 Counters in my solutions to 25 puzzles — and that total could well increase since I haven’t finished yet.
The talk itself is on github.