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

Python列表元素两两求和问题:代码逻辑与预期结果不符求助

问题排查与修正方案

首先,咱们来拆解下你的代码为什么没能得到预期结果:

核心问题分析

  • num1不是列表而是单个变量:你每次执行num1 = num[0] + num[1]都是在覆盖num1的值,而非把结果添加到列表中。哪怕循环多次,最后num1只会保留最后一次计算的数值,根本没法存储所有两两相加的结果。
  • 循环逻辑完全错位:两个分开的for循环完全没法实现“遍历所有元素并两两相加”的需求——第一个循环重复计算两次前两个元素的和,第二个循环只移除了前两个元素,剩下的元素根本没处理。

修正后的代码

我们需要先初始化一个空列表来存储结果,然后用步长为2的循环遍历原列表,每次取相邻的两个元素相加并追加到结果列表中:

num = [10,10,6,7,12,12,9,7,7,8]
num1 = []  # 先初始化空列表用于存结果
# 步长设为2,每次取i和i+1位置的元素配对
for i in range(0, len(num), 2):
    num1.append(num[i] + num[i+1])

print(num1)  # 输出: [20, 13, 24, 16, 15]

更简洁的实现方式

如果你偏好Python风格的简洁写法,也可以用列表推导式结合zip来实现:

num = [10,10,6,7,12,12,9,7,7,8]
# 把列表拆分为奇数位和偶数位的子列表,再配对相加
num1 = [a + b for a, b in zip(num[::2], num[1::2])]
print(num1)  # 同样输出预期结果

这样两种写法都能精准得到你想要的结果啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:24:46