【发布时间】:2019-02-27 12:15:00
【问题描述】:
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循环?
【问题讨论】:
-
return sum(human.limbs for human in humans)见这里:docs.python.org/3/library/functions.html#sum -
sum是内置的。在尝试@StephenRauch 建议之前,请确保您没有更换它 - 例如sum = 0。 -
抱歉,将 sum 替换为任何其他临时变量名称。它只是 int 值的占位符。
标签: python python-3.x python-2.7 list list-comprehension