如何遍历列表并求和成员

1 投票
2 回答
2216 浏览
提问于 2025-04-18 16:09

我在使用Python 3.3的时候,有一个这样的列表:

>>> ls
[250313, 242517, 243788, 1606025, 1566365, 1573483]

我需要一个for循环或者内置函数来遍历这个列表,每次把三个整数加在一起。

我希望最后的结果看起来像这样:

>>> newls 
[736618, 4745873]

看起来itertools或者sum可能对这个有帮助,但我还没搞明白怎么用。

2 个回答

1

把你的数组变成一个矩阵,矩阵的行数是数组长度除以3,列数是3。然后对每一行的元素进行求和。

import numpy as np
result = np.array(ls).reshape((-1,3)).sum(axis = 1)
2

对列表 ls 中每三个连续的元素进行求和,结果如下:

newls = [sum(ls[i:i+3]) for i in range(0, len(ls), 3)]

需要注意的是,如果 len(ls) 不是3的倍数,那么 ls 的最后一个或两个元素会被一起求和,形成 newls 的最后一个元素。如果想要忽略那些不成组的元素,可以这样做:

newls = [sum(ls[i:i+3]) for i in range(0, len(ls) - len(ls) % 3, 3)]

撰写回答