我在循环中使用sum
函数。
调用此函数后出现错误:
“ AttributeError:'int'对象没有属性'num_children'”
class _InnerNode(_Node):
def __init__(self, ctr_idx, level, radius, children):
self.ctr_idx = ctr_idx
self.level = level
self.radius = radius
self.children = children
self.num_children = sum(c.num_children for c in children)
答案 0 :(得分:-1)
c是一个整数,而不是_InnerNode类的实例,因此编译器找不到该属性,这就是为什么它会向您抛出错误(如注释中所述)。
由于子项是列表,因此最后一行的正确代码是:
self.num_children = sum(c for c in children)