给定一个数字列表,例如:
[1, 2, 3, 4, 5, ...]
我如何计算他们的总和:
1 + 2 + 3 + 4 + 5 + ...
我如何计算它们的成对平均值:
[(1+2)/2, (2+3)/2, (3+4)/2, (4+5)/2, ...]
原文由 layo 发布,翻译遵循 CC BY-SA 4.0 许可协议
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
1 回答3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
问题一:
要对数字列表求和,请使用
sum
:这输出:
问题2:
所以你想要 (element 0 + element 1) / 2, (element 1 + element 2) / 2, … 等等。
我们制作了两个列表:除第一个元素外的每个元素一个,除最后一个元素外的每个元素一个。那么我们想要的平均值是从两个列表中取出的每对的平均值。我们使用
zip
从两个列表中取对。我假设您希望在结果中看到小数,即使您的输入值为整数。默认情况下,Python 进行整数除法:它丢弃余数。一路划分事物,需要用到浮点数。幸运的是,一个整数除以一个浮点数会产生一个浮点数,所以我们只使用
2.0
作为除数而不是2
。因此: