我的功能需要获取整数列表并返回列表中负整数的总和。我该如何解决这个问题,以便列表对象被视为整数?
def sumNegativeInts(listInt):
sumNegative=0
for x in listInt.split(','):
if int(x) < 0:
sumNegative+=listInt(x)
return sumNegative
答案 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,则在返回时不需要投入总和。