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

Python两个列表元素相加存入第三列表 输出为空如何解决

问题原因
  • 未给New1、New2赋值具体数值元素,属于未定义变量,实际运行会直接抛出变量未定义报错,你大概率漏贴了两个列表的前置赋值代码。
  • for循环语法和逻辑完全错误:range(len(New1), len(New2))生成的是单个数值的迭代序列,不能同时赋值给i、j两个变量,会直接抛出解包失败报错;且对应位置相加需要遍历同一个索引值,而非取两个不同下标。
  • 若你实际已给New1、New2赋值,当len(New1) >= len(New2)时,这个range生成的是空序列,循环一次都不会执行,所以New3始终是空列表,最终输出[] 0,这是你得到当前结果的直接原因。
解决方法

首先给New1、New2完成赋值,再根据场景选择对应写法即可:

场景1:两个列表长度确定相等

# 示例赋值,可替换为你自己的列表数值
New1 = [1, 3, 5, 7]
New2 = [2, 4, 6, 8]
New3 = []

# 遍历同一个索引
for idx in range(len(New1)):
    Sum = New1[idx] + New2[idx]
    New3.append(Sum)

print(New3)
print(len(New3))

场景2:两个列表长度可能不一致,按短列表长度相加

更简洁的zip写法:

New1 = [1, 3, 5, 7, 9]
New2 = [2, 4, 6]
New3 = []

for i, j in zip(New1, New2):
    Sum = i + j
    New3.append(Sum)

print(New3)
print(len(New3))

场景3:按长列表长度相加,短列表不足位置补0

from itertools import zip_longest

New1 = [1, 3, 5, 7, 9]
New2 = [2, 4, 6]
New3 = []

for i, j in zip_longest(New1, New2, fillvalue=0):
    Sum = i + j
    New3.append(Sum)

print(New3)
print(len(New3))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:15:07