[Python-ideas] dict.setdefault_call(), or API variations thereupon
Chris Angelico
rosuav at gmail.com
Thu Nov 1 21:12:45 EDT 2018
On Fri, Nov 2, 2018 at 12:07 PM Alex Shafer <ashafer01 at gmail.com> wrote:
> Other APIs I've considered for this are a new keyword argument to the existing `setdefault()`, or perhaps more radically for Python, a new keyword argument to the `dict()` constructor that would get called as an implicit default for `setdefault()` and perhaps used in other scenarios (essentially defining a type for dict values).
>
The time machine has been put to good use here. Are you aware of
__missing__ and collections.defaultdict? You just create a defaultdict
with a callable (very common to use a class like "list"), and any time
you try to use something that's missing, it'll call that to generate a
value.
from collections import defaultdict
d = defaultdict(list)
for category, item in some_stuff:
d[category].append(item)
Easy way to group things into their categories.
ChrisA
More information about the Python-ideas
mailing list