Укорочение для петель - PullRequest
0 голосов
/ 24 сентября 2018
sum_num = 0

for human in humans:
    sum_num += human.limbs
return sum_num

Предположим, что у объекта human есть атрибут limbs как в:

human.limbs = rand.int(0, 4)

Что было бы хорошим способом сократить это, как это было бы с пониманием списка?

sum_num = sum_num + human.limbs for human in humans

Очевидно, вышеприведенное вызывает ошибку.Нет ли способа сократить цикл for, как указано выше?

1 Ответ

0 голосов
/ 24 сентября 2018

Функция sum - это Pythonic способ суммирования.sum() занимает многократное.В этом случае очень полезной итерацией является выражение генератора .Выражения генератора используют (в основном) тот же синтаксис, что и списочные выражения .Используя sum() и выражение генератора, то, что вы пытаетесь сделать, можно выразить довольно просто:

sum(human.limbs for human in humans)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...