无法将对象附加到嵌套列表

时间:2015-07-09 14:52:22

标签: python json list dictionary multidimensional-array

我有一个JSON对象,如下所示:

modules = []

for functionname in function_dictionary:

    modulename = function_dictionary[function][1]
    func = function_dictionary[function][0]


    module_func = {"modulename" : modulename, "functions" : [{"functionname" : functionname, "function" : func}]}

    found = False
    for module in modules:
        if module["modulename"] == modulename:
            module["modulename"]["functions"].append({"functionname" : functionname, "function" : func}) #error here
            found = True
            break

    if not found:
        modules.append(module_func)

我的代码如下所示:

string indices must be integers, not str

但是我一直收到{"functionname" : function, "function" : func}错误。

我不确定为什么我会这样做。

我将其读作"将对象module["modulename"]["functions"]附加到位于margin-left的列表

任何建议都是适用的!

1 个答案:

答案 0 :(得分:1)

愚蠢的我,这是我的错字:

module["modulename"]["functions"].append({"functionname" : functionname, "function" : func}) #error here

应该是:

module["functions"].append({"functionname" : function, "function" : func})

我误读了我自己的对象,虽然functions列表嵌套在modulename内,但实际上它们处于同一级别。