Как использовать функцию суммы в для цикла? - PullRequest
0 голосов
/ 10 апреля 2019

Я использую функцию 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 голосов
/ 10 апреля 2019

c является целым числом, а не экземпляром класса _InnerNode, поэтому компилятор не может найти атрибут, поэтому он выдает ошибку (как сказано в комментариях).

Так как children - это список, правильный код для последней строки: self.num_children = sum(c for c in children)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...