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

如何在Python中同时对多个列表的对应元素求和?

在Python中对任意数量列表的对应元素求和

基础场景(所有列表长度一致)

如果能确定所有输入列表的长度相同,用zip()配合列表推导式就能快速实现:

def sum_corresponding_elements(*lists):
    return [sum(group) for group in zip(*lists)]

# 示例调用
list_a = [3, 3, 1, 1, 1, 1, 1]
list_b = [1, 1, 4, 5, 6, 7, 8]
print(sum_corresponding_elements(list_a, list_b))  # 输出: [4, 4, 5, 6, 7, 8, 9]

原理说明

  • zip(*lists)会把传入的所有列表按索引位置打包成元组,比如第一个元组是(list_a[0], list_b[0]),以此类推。
  • 对每个元组调用sum(),就能得到对应位置元素的和,最后用列表推导式生成结果列表。

处理长度不一致的列表

如果输入列表的长度可能不同,且希望以最长列表的长度为准(缺失位置补0),可以用itertools.zip_longest():

from itertools import zip_longest

def sum_corresponding_elements(*lists):
    return [sum(group) for group in zip_longest(*lists, fillvalue=0)]

# 示例调用(加入一个短列表)
list_c = [2, 3]
print(sum_corresponding_elements(list_a, list_b, list_c))  # 输出: [6, 7, 5, 6, 7, 8, 9]

原理说明

  • zip_longest()会以最长的输入列表为基准,对较短列表的缺失位置填充指定的fillvalue(这里设为0,适合求和场景)。
  • 后续的求和逻辑和基础场景一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 10:41:17