如何获得大多数嵌套值?

How to get most nested values?

我有一个嵌套字典,如下所示:

d = {"my momma" : {"your momma" : 1}, "flying on" : {"a broom" : 2}}

我需要将所有最嵌套的值(1 和 2)乘以 2。

我该怎么做? 我只是无法访问它们。

for key in d:
    for skey in d[key]:
        d[key][skey] *= 2
print d

递归,如果你不知道你会有多少嵌套层:

INDEX = []

def disMantle(target, depth):
    # ensure a list for given depth
    while len(INDEX) <= depth: INDEX.append([])
    # analyze given target
    for key in target:
        atype = type(target[key])

        if atype == dict:
            # next depth
            disMantle(target[key], depth+1)
        elif atype in [int,float]:
            # record the numeric values
            INDEX[depth].append({'key':key,'value':target[key]})

d = {"my momma" : {"your momma" : 1}, "flying on" : {"a broom" : 2.0}}

disMantle(d, 0)
print INDEX[-1]