You need to enable JavaScript to run this app. Python如何计算列表中每隔一位元素的累加总和
优惠活动
大模型
产品
解决方案
定价
更多

Python如何计算列表中每隔一位元素的累加总和

隔位累加场景的Python实现与循环选型

给定示例列表[10,20,30,40,50,60],需求为累加序列中从1开始计数的第2、4、6位元素,参考计算逻辑为20+40+60=120,对应Python列表的索引值为1、3、5。

最简实现代码

Python内置的列表切片可以快速定位目标元素,配合sum()方法即可一步完成计算:

source_list = [10,20,30,40,50,60]
# 切片规则:从索引1开始,步长为2取元素,直接求和
total = sum(source_list[1::2])
print(total)  # 输出结果120

注意:这里的位置计数是从1开始的,对应Python列表从0起始的索引规则,不要错把目标位置对应成索引0、2、4,否则计算结果会变成10+30+50=90,和需求不符。

两种循环结构的实现对比

如果需要通过循环逻辑手动实现累加(而非直接调用内置求和方法),两种循环写法如下:

for循环实现

source_list = [10,20,30,40,50,60]
total = 0
# 直接遍历切片得到的目标元素集合,无需手动维护索引
for num in source_list[1::2]:
    total += num
print(total)  # 输出结果120

while循环实现

source_list = [10,20,30,40,50,60]
total = 0
# 手动维护起始索引、步长、终止判断条件
current_index = 1
while current_index < len(source_list):
    total += source_list[current_index]
    current_index += 2
print(total)  # 输出结果120

循环选型建议

  • 该场景下优先选择for循环结构:需求的遍历范围、步长都是提前确定的,没有需要动态判断的终止条件,for循环写法简洁直观,不需要手动维护索引值,能大幅降低索引越界、步长写错的概率。
  • while循环虽然能完成功能,但需要手动绑定起始位置、自增步长、列表长度的边界判断,代码冗余度更高,更适合遍历长度未知、需要根据循环中途的运行状态决定是否终止的场景,和当前固定范围遍历的需求匹配度较低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.30 17:06:04