我的函數需要獲取一個整數列表並返回列表中負整數的總和。我該如何解決這個問題,以便列表對象被視爲整數?返回列表中負數的總和的Python函數
def sumNegativeInts(listInt):
sumNegative=0
for x in listInt.split(','):
if int(x) < 0:
sumNegative+=listInt(x)
return sumNegative
我的函數需要獲取一個整數列表並返回列表中負整數的總和。我該如何解決這個問題,以便列表對象被視爲整數?返回列表中負數的總和的Python函數
def sumNegativeInts(listInt):
sumNegative=0
for x in listInt.split(','):
if int(x) < 0:
sumNegative+=listInt(x)
return sumNegative
如果您的「列表」不是字符串,您的號碼將按順序存儲。
def sumNegativeInts(listInt):
sum_result = 0
for x in listInt:
if x < 0:
sum_result += x
return(int(sum_result))
請注意,如果您的號碼全部爲int,則在返回時不需要施加總和。
請注意,通過使用「sum」這個名字,你可以隱藏內置函數,在這種情況下真的很有用...... – jonrsharpe
@jonrsharpe你是對的。用另一個名字編輯 – fattidare
您不需要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)
僅供參考,您的「更好的方式」是[生成器表達式](https://docs.python.org/2/reference/expressions.html#generator-expressions),而不是列表理解。 –
有許多潛在的不正確的事錯與你的代碼,但我們無法確定的背景知道。請提供簡短的**完整**程序,說明您遇到的問題。 –