如何編寫一個函數來獲取給定列表中索引a和b之間的項目總和。例如給aList=[6,3,4,2,5]
和a=1
,b=3
,函數應該返回9.這裏是我的代碼:在給定列表的給定範圍內求和所有數字Python
def sumRange(L,a,b):
sum= []
L = [6,3,4,2,5]
for i in range(a,b+1,1):
sum +=L[i]
return sum
如何編寫一個函數來獲取給定列表中索引a和b之間的項目總和。例如給aList=[6,3,4,2,5]
和a=1
,b=3
,函數應該返回9.這裏是我的代碼:在給定列表的給定範圍內求和所有數字Python
def sumRange(L,a,b):
sum= []
L = [6,3,4,2,5]
for i in range(a,b+1,1):
sum +=L[i]
return sum
看起來像你想要滾動你自己的解決方案。你可以像下面這樣做(基於你在你的問題有代碼):
def sumRange(L,a,b):
sum = 0
for i in range(a,b+1,1):
sum += L[i]
return sum
L = [6,3,4,2,5]
a = 1
b = 3
result = sumRange(L,a,b)
print "The result is", result
這個程序打印
結果是9
你可以用列表分片實現這一目標:
sum(your_list[a:b + 1])
這裏,your_list[a:b+1]
是片 - 的一部分從索引a
開始,以索引b
,結尾,包括兩個索引的值(這就是爲什麼你需要b + 1
)。
你可以簡單地使用python中的索引切片和sum函數。
return sum(L[a:b])