I am looking for a way to define a collections.defaultdict (factory) that returns for each key in arbitrary depth again a defaultdict.
E.g.,
foo = collections.defaultdict(lambda: *magic with defaultdict* )
so that
>>>> foo['bar']
defaultdict(<function lambda --> defaultdict,...)
>>> foo['bar']['baz']
defaultdict(<function lambda --> defaultdict,...)
ad infinitum.
I tried something more baroque with a deepcopy of a lambda-defaultdict as lambda of the 'actual' defaultdict
>>> fooDict = collections.defaultdict(lambda: collections.defaultdict(lambda: collections.defaultdict()))
>>> barDict = collections.defaultdict(lambda: collections.defaultdict(lambda: copy.deepcopy(fooDict)))
but which fails miserably in the forth generation (not surprisingly, when thinking through).