错误来自 publishDB = defaultdict(defaultdict({})) 我想创建一个像 {subject1:{student_id:{assignemt1:marks, assignment2:marks,finals 这样的数据库:marks}} , {student_id:{assignemt1:marks, assignment2:marks,finals:marks}}, subject2:{student_id:{assignemt1:marks, assignment2:marks,finals:marks}} , {student_id:{assignemt1:marks , assignment2:marks,finals:marks}}}.我试图将其填充为 DB[math][10001] = a dict,然后读出为 d = DB[math][10001]。因为,我在我的办公室电脑上,我不能尝试不同的模块。
我这样做是否正确?
请您参考如下方法:
这样的嵌套dict结构可以使用递归defaultdict“树”来实现:
def tree():
return defaultdict(tree)
publishDB = tree()
在每个级别,默认字典都根据需要用 tree 实例化,这是一个零参数可调用对象。 然后你可以简单地分配标记:
publishDB[subject][student][assignment] = mark
