对给定列表Python的给定范围内的所有数字求和

时间:2016-06-14 15:52:22

标签: python sum range indices

如何编写函数来获取索引a和b之间给定列表中项目的总和。例如,给aList=[6,3,4,2,5]a=1b=3,函数应该返回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

3 个答案:

答案 0 :(得分:4)

您可以使用列表切片实现此目的:

sum(your_list[a:b + 1])

此处,your_list[a:b+1]切片 - 您的列表的一部分,从索引a开始,以索引{{1结尾},包括两个索引的值(这就是你需要b的原因。)

答案 1 :(得分:1)

你可以简单地在python中使用索引切片和sum函数。

return sum(L[a:b])

答案 2 :(得分:1)

好像你想要自己推出解决方案。你可以这样做(基于你在问题中的代码):

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