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

Python中如何实现第一个列表各元素与第二个列表全量元素相乘后求和

两个列表按指定规则运算的实现方案

你需要的运算逻辑可以简化为:先计算第二个列表的总和,再用第一个列表的每个元素乘以该总和,即可得到对应位置的结果,和你描述的逐元素相乘再求和的输出完全一致。

Python实现

方法1:简化高效版(推荐)

list_a = [1, 2]
list_b = [1, 2, 3]
sum_b = sum(list_b)
result = [num * sum_b for num in list_a]

输出结果:[6, 12]

方法2:字面逻辑实现(完全匹配你描述的运算步骤)

如果需要严格按照「第一个列表元素逐个和第二个列表所有元素相乘再求和」的步骤实现,可使用如下代码:

list_a = [1, 2]
list_b = [1, 2, 3]
result = [sum(num1 * num2 for num2 in list_b) for num1 in list_a]

或者显式循环写法:

list_a = [1, 2]
list_b = [1, 2, 3]
result = []
for num1 in list_a:
    temp_sum = 0
    for num2 in list_b:
        temp_sum += num1 * num2
    result.append(temp_sum)

其他说明

  • 简化版时间复杂度为O(n+m)(n为第一个列表长度,m为第二个列表长度),比两层遍历的O(n*m)效率更高,适合处理长列表场景。
  • 两种实现的输出结果完全一致,可根据实际需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 00:36:05