在Python中对数字列表求和
在Python中对数字列表求和
这个问题已经有答案了:
给定如下的数字列表:
[1, 2, 3, 4, 5, ...]
如何计算它们的总和:
1 + 2 + 3 + 4 + 5 + ...
如何计算它们的成对平均值:
[(1+2)/2, (2+3)/2, (3+4)/2, (4+5)/2, ...]
admin 更改状态以发布 2023年5月22日
问题1:
要对数字列表求和,可以使用sum
函数:
xs = [1, 2, 3, 4, 5] print(sum(xs))
这将输出:
15
问题2:
所以,您想要(element 0 + element 1) / 2, (element 1 + element 2) / 2, ...等等。
我们创建两个列表:一个包含除第一个元素以外的所有元素,另一个包含除最后一个元素以外的所有元素。然后,我们要求的平均数是来自这两个列表中每个对的平均数。我们使用zip
从两个列表中取出一对。
我假设您希望在结果中看到小数,即使您的输入值是整数。默认情况下,Python会执行整数除法:它会丢弃余数。要全部除以,我们需要使用浮点数。幸运的是,将int除以float将产生float,因此我们只需使用2.0
作为我们的除数,而不是2
。
因此:
averages = [(x + y) / 2.0 for (x, y) in zip(my_list[:-1], my_list[1:])]