小能豆

在 Python 中对数字列表求和

py

给定一个数字列表,例如:

[1, 2, 3, 4, 5, ...]

我如何计算它们的总和:

1 + 2 + 3 + 4 + 5 + ...

如何计算它们的成对平均值:

[(1+2)/2, (2+3)/2, (3+4)/2, (4+5)/2, ...]

阅读 24

收藏
2024-09-21

共1个答案

小能豆

问题 1:

要对数字列表求和,请使用sum

xs = [1, 2, 3, 4, 5]
print(sum(xs))

输出如下:

15

问题 2:

所以您想要 (元素 0 + 元素 1) / 2、(元素 1 + 元素 2) / 2,… 等等。

我们制作两个列表:一个包含除第一个之外的所有元素,另一个包含除最后一个之外的所有元素。然后我们想要的平均值是从两个列表中取出的每一对的平均值。我们习惯zip从两个列表中取出一对。

我假设您希望在结果中看到小数,即使您的输入值是整数。默认情况下,Python 会执行整数除法:它会丢弃余数。要完全除法,我们需要使用浮点数。幸运的是,将 int 除以 float 会产生浮点数,因此我们只需使用2.0而不是 作为除数2

因此:

averages = [(x + y) / 2.0 for (x, y) in zip(my_list[:-1], my_list[1:])]
2024-09-21