如何在for循环中使用sum函数?

时间:2019-04-10 07:52:51

标签: python for-loop sum

我在循环中使用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)

1 个答案:

答案 0 :(得分:-1)

c是一个整数,而不是_InnerNode类的实例,因此编译器找不到该属性,这就是为什么它会向您抛出错误(如注释中所述)。

由于子项是列表,因此最后一行的正确代码是: self.num_children = sum(c for c in children)