Python将嵌套的MutableMapping转换为嵌套的dict

时间:2012-10-03 14:26:31

标签: python dictionary loops

我有一个嵌套的MutableMapping,我希望将其转换为嵌套字典。当我说我有一个MutableMapping时,我当然意味着我有一个继承它的类。结构类似:

'key': <myobject> where myobject is the MutableMapping with more nested myobject's

我目前尝试这样做的结果是:

def __makeDict(c):
    c = dict(c)
    for item in c:
        if isinstance(c[item], MutableMapping):
            c[item] = Configuration.__makeDict(c[item])
            return c[item]
    return c

在嵌套的MutableMapping中提供只产生树的最底层(我想我理解)。问题是,我如何迭代这个并产生正确的结果?欢迎任何意见,欢呼。

1 个答案:

答案 0 :(得分:0)

    def __makeDict(c):
    for item in c:
        if isinstance(c[item], MutableMapping):
            Configuration.__makeDict(c[item])
            c[item] = dict(c[item])

    return dict(c)

想出来。重新安排订单以使用MutableList的变异功能来帮助重建字典。