You need to enable JavaScript to run this app. Python如何将两个列表中的整数按对应位置相加
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将两个列表中的整数按对应位置相加

Python 中列表使用+运算符默认执行拼接操作,不会进行逐元素运算,要实现对应位置相加、短列表缺失位默认补0的需求,有以下几种常用解决方案:

方案1:使用itertools.zip_longest(最简洁)

该方法不需要手动处理列表长度,缺失位直接指定填充值即可:

from itertools import zip_longest

lst = [1, 1, 2]
lst2 = [1, 1]
res = [a + b for a, b in zip_longest(lst, lst2, fillvalue=0)]

运行后res的值就是你需要的[2, 2, 2]。

方案2:原生Python实现(无需导入依赖)

手动将两个列表补0到相同长度,再逐元素相加:

lst = [1, 1, 2]
lst2 = [1, 1]
max_len = max(len(lst), len(lst2))
# 补0到相同长度
lst_pad = lst + [0] * (max_len - len(lst))
lst2_pad = lst2 + [0] * (max_len - len(lst2))
# 逐元素相加
res = [a + b for a, b in zip(lst_pad, lst2_pad)]

方案3:使用numpy实现(适合大规模数值计算场景)

如果你的场景涉及大量数值运算,可以用numpy的数组广播特性实现:

import numpy as np

lst = [1, 1, 2]
lst2 = [1, 1]
max_len = max(len(lst), len(lst2))
# 转换为数组并补0
arr1 = np.pad(np.array(lst), (0, max_len - len(lst)), constant_values=0)
arr2 = np.pad(np.array(lst2), (0, max_len - len(lst2)), constant_values=0)
res = (arr1 + arr2).tolist()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 17:36:05