假设我有一个像
[2, 4, 7, 12, 3]
这样的整数列表。如何将所有数字加在一起,得到 28
?
x = [2, 4, 7, 12, 3]
sum_of_all_numbers= sum(x)
或者你可以尝试这个:
x = [2, 4, 7, 12, 3]
sum_of_all_numbers= reduce(lambda q,p: p+q, x)
Reduce 是一种对列表中的每个元素累积执行函数的方法。它可以执行任何函数,因此如果您定义自己的模函数,它将对列表的每个元素重复执行该函数。为了避免定义整个函数来执行 p+q,您可以使用 lambda 函数。
这个:
sum([2, 4, 7, 12, 3])
您可以使用
sum()
添加列表中的所有元素。
所以也:
x = [2, 4, 7, 12, 3]
sum(x)
第一种方法:
my_list = [1,2,3,4,5]
list_sum = sum(list)
第二种方式(效率较低):
my_list = [1,2,3,4,5]
list_sum = 0
for x in my_list:
list_sum += x
你可以尝试一下:
x = [2, 4, 7, 12, 3]
total = sum(x)
使用线性递归的纯Python函数。
def linear_sum(S, n):
if n == 0:
return 0
else:
return linear_sum(S, n-1) + S[n-1]