7

如果我有一个像

x = [2, 4, 7, 12, 3]

我将使用什么功能/过程将所有数字加在一起?

除了使用sum()还有什么办法吗?

4

4 回答 4

21
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 函数。

于 2012-12-17T06:07:53.197 回答
15

这:

sum([2, 4, 7, 12, 3])

您用于sum()添加列表中的所有元素。

同样:

x = [2, 4, 7, 12, 3]
sum(x)
于 2012-12-17T06:00:48.917 回答
3

你可以试试 :

x = [2, 4, 7, 12, 3]    
total = sum(x)
于 2012-12-17T06:01:56.187 回答
3

第一种方式:

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
于 2012-12-17T06:28:11.150 回答