python函数在数组中查找正数的总和

SHi*_*sch 3 python arrays sum

我需要编写一个函数,它接受一个数字数组并找到所有数字的最大和。换句话说,我需要找到正数的总和。我写了这个,我得到“列表超出范围”

想法?

    def maximum_sub(A):
        x = 0
        i = 0
        for i in A:
            while A[i] > 0:
            x+=A[i]
            i+=1
        return x
Run Code Online (Sandbox Code Playgroud)

Uri*_*iel 6

改用超级函数和列表理解:

>>> a = [1, 2, 3, -4, 5, -3, 7, 8, 9, 6, 4, -7]
>>> sum(x for x in a if x > 0)
45
Run Code Online (Sandbox Code Playgroud)

[x for x in a if x > 0]将创建一个由 中的正值组成的数组a

sum(...) 将返回该数组中元素的总和。