我有一个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
的列表
任何建议都是适用的!
答案 0 :(得分:1)
愚蠢的我,这是我的错字:
module["modulename"]["functions"].append({"functionname" : functionname, "function" : func}) #error here
应该是:
module["functions"].append({"functionname" : function, "function" : func})
我误读了我自己的对象,虽然functions
列表嵌套在modulename
内,但实际上它们处于同一级别。