Python:对列表中的 x 个元素求和

标签 python list sum

我无法使用搜索功能找到答案,所以我开始这个话题。

考虑有一个可以被 x 整除的列表。 例如:

onetonine = [1,2,3,4,5,6,7,8,9]

在这种情况下,示例 x 将为 3。

现在我想用

创建一个新列表
len(onetonine)/x

元素,这意味着 3 个元素。

重要的是,我希望新列表的元素是旧列表的每个 x 元素的总和。 这意味着:

newlist = [6, 15, 24]

所以基本上从我的旧列表中取出 x=3 个元素并添加它们。重复直到完成。

我无法为此找到可行的解决方案,所以我正在寻求帮助。

谢谢。

最佳答案

以下对适当切片的总和的列表理解将起作用:

>>> [sum(onetonine[i:i+3]) for i in range(0, len(onetonine), 3)]
[6, 15, 24]

注意:如果原始列表的长度不能被 block 长度整除,这将不会丢弃任何剩余部分,而只是添加最后一个(较短的) block 的总和。

关于Python:对列表中的 x 个元素求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47620259/

相关文章:

list - 在 F# 中,map2 如何处理不均匀的列表长度?

java - 从监听器列表中删除监听器

C# Linq group by DateTime 忽略小时和分钟

python - 让尝试更快地捕捉 Python

python - 预分配一个无列表

python - 将虚拟环境项目从本地迁移到服务器(flask 项目),必须重新安装依赖项?

MySQL对列的元素求和

linux - 可变长度表的 Bash 列总和

python - 过滤 numpy 数组但保留原始值

python - 具有大数据集的 DictVectorizer