缩短循环

时间:2018-09-24 01:10:09

标签: python python-3.x python-2.7 list list-comprehension

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 :(得分:3)

sum函数是Python求和的方法。 sum()需要迭代。在这种情况下,generator expression是一个非常有用的迭代。生成器表达式使用(基本上)与list comprehensions相同的语法。使用sum()和生成器表达式,您可以尝试将其表达为:

sum(human.limbs for human in humans)