我需要编写一个函数,它接受一个数字数组并找到所有数字的最大和。换句话说,我需要找到正数的总和。我写了这个,我收到“列表超出范围”
想法?
def maximum_sub(A):
x = 0
i = 0
for i in A:
while A[i] > 0:
x+=A[i]
i+=1
return x
使用超级函数和列表理解来代替:
>>> a = [1, 2, 3, -4, 5, -3, 7, 8, 9, 6, 4, -7]
>>> sum(x for x in a if x > 0)
45
[x for x in a if x > 0]
将创建一个由正值组成的数组a
.
sum(...)
将返回该数组中元素的总和。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)