Python函数返回列表中的负数之和

时间:2015-11-02 14:57:28

标签: python

我的功能需要获取整数列表并返回列表中负整数的总和。我该如何解决这个问题,以便列表对象被视为整数?

def sumNegativeInts(listInt):
    sumNegative=0
    for x in listInt.split(','):
        if int(x) < 0:
            sumNegative+=listInt(x)
    return sumNegative

2 个答案:

答案 0 :(得分:5)

您无需split列表。

def sumNegativeInts(listInt):
    m = 0
    for x in listInt:
        if x < 0:
            m+=x
    return(int(m))

a = [1, 3, 4, 5, -2, -3, 4, -1]
print sumNegativeInts(a)

输出( - 2 + -3 + -1)

-6

使用生成器表达式的更好方法:

print sum(x for x in a if x<0)

答案 1 :(得分:2)

如果您的“列表”不是字符串,则您的号码将按顺序存储。

def sumNegativeInts(listInt):
    sum_result = 0
    for x in listInt:
        if x < 0:
            sum_result += x
    return(int(sum_result))

请注意,如果您的数字都是int,则在返回时不需要投入总和。