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

如何优雅实现对应维度一致的两组NumPy数组列表的减法运算?

优雅实现方式

可以利用Python的列表推导式结合NumPy数组的矢量化运算来实现,代码简洁高效:

import numpy as np

my_array1 = [np.array([[1, 2, 3],
                      [4, 5, 6],
                      [7, 8, 9]]), 
             np.array([[10],
                      [13],
                      [15]])]
my_array2 = [np.array([[3, 2, 1],
                      [6, 5, 4],
                      [9, 8, 7]]), 
             np.array([[7],
                      [8],
                      [9]])]

# 计算对应数组的差值
my_result = [arr1 - arr2 for arr1, arr2 in zip(my_array1, my_array2)]

说明

  • zip(my_array1, my_array2)会将两个列表中索引位置相同的数组一一配对;
  • 列表推导式遍历每一对数组,直接用arr1 - arr2完成NumPy数组的矢量化减法,自动对应元素相减,无需手动循环遍历数组元素;
  • 运行后my_result的结果与你预期的my_want完全一致。

如果需要验证结果,可以用np.array_equal逐个检查:

# 验证结果是否符合预期
my_want = [np.array([[-2, 0, 2],
                      [-2, 0, 2],
                      [-2, 0, 2]]), 
           np.array([[3],
                     [5],
                     [6]])]

all_match = all(np.array_equal(res, want) for res, want in zip(my_result, my_want))
print(all_match)  # 输出 True

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 00:01:11