对给定列表的给定范围内的所有数字求和 Python
Sum all numbers in a given range of a given list Python
我如何编写一个函数来获取给定列表中索引 a 和 b 之间的项目的总和。例如给 aList=[6,3,4,2,5]
和 a=1
, b=3
, 函数应该 return 9. 这是我的代码:
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
您可以通过列表切片来实现:
sum(your_list[a:b + 1])
在这里,your_list[a:b+1]
是一个 切片 - 你的列表 的一部分,从索引 a
开始并以索引 b
、 结尾,包括两个索引处的值 (这就是您需要 b + 1
的原因)。
您可以简单地在 python 和求和函数中使用索引切片。
return sum(L[a:b])
看来您想推出自己的解决方案。你可以这样做(基于你在问题中的代码):
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
这个程序打印
The result is 9
我如何编写一个函数来获取给定列表中索引 a 和 b 之间的项目的总和。例如给 aList=[6,3,4,2,5]
和 a=1
, b=3
, 函数应该 return 9. 这是我的代码:
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
您可以通过列表切片来实现:
sum(your_list[a:b + 1])
在这里,your_list[a:b+1]
是一个 切片 - 你的列表 的一部分,从索引 a
开始并以索引 b
、 结尾,包括两个索引处的值 (这就是您需要 b + 1
的原因)。
您可以简单地在 python 和求和函数中使用索引切片。
return sum(L[a:b])
看来您想推出自己的解决方案。你可以这样做(基于你在问题中的代码):
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
这个程序打印
The result is 9