You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中实现按指定间隔累加列表元素的通用方法?

解决方案

要实现这个通用的累加逻辑,核心是根据指定间隔数(即初始元素的个数),将后续元素按位置对应累加到初始元素上。具体实现如下:

逻辑分析

假设间隔为n:

  • 取列表前n个元素作为初始结果集
  • 从第n个索引(从0开始计数)的元素起,每个元素的索引对n取余,得到对应的初始元素位置,将该元素值累加到结果集的对应位置

代码实现

def accumulate_by_interval(lst, interval):
    if interval <= 0 or len(lst) < interval:
        return []
    result = lst[:interval].copy()
    for i in range(interval, len(lst)):
        idx = i % interval
        result[idx] += lst[i]
    return result

测试示例

示例1

输入列表:[5, 12, 4, 6, 8, 2],间隔为2

print(accumulate_by_interval([5, 12, 4, 6, 8, 2], 2))  # 输出: [17, 20]

示例2

输入列表:[4, 2, 3, 1, 5, 6],间隔为3

print(accumulate_by_interval([4, 2, 3, 1, 5, 6], 3))  # 输出: [5, 7, 9]

说明

  • 先做合法性校验:间隔不能为非正数,且列表长度需不小于间隔数,否则返回空列表
  • 用copy()避免修改原列表的初始元素
  • 通过i % interval快速定位累加位置,确保逻辑适用于任意合法间隔和列表长度

内容的提问来源于stack exchange,提问作者user19384320

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 11:27:12