Python, double autoenumerated defaultdict

defaultdict, hashmap, nested, python

Solution

def enumdict():
    a = defaultdict(lambda : len(a))
    return a

b = defaultdict(enumdict)

Problem

To optimize some code, I am using the following: ``` a = defaultdict(lambda: len(a)) a[0] = 0 a[1] = 1 a[7] = 2 ... ``` Now my problem is that I would need a nested defaultdict, i.e. ``` b = defaultdict(lambda: defaultdict(lambda: len(b[?])) b[0][0] = 0 b[0][1] = 1 b[1][0] = 0 b[1][1] = 1 ... ``` Thanks in advance...

Original source