Python中如何实现二维数组两行对应元素逐位相减?
二维数组行元素差值计算实现方法
以下是不同场景下的实现方案:
Python 原生实现(无需额外依赖)
利用zip函数配对两行的对应元素,通过列表推导式完成批量计算:
arr1 = [[1,2,3],[5,6,7]] # arr1[0]为第一行,arr1[1]为第二行,配对后用后项减前项 diff_res = [second - first for first, second in zip(arr1[0], arr1[1])] print(diff_res) # 输出结果:[4, 4, 4]
Python 数值计算场景(Numpy实现)
如果是做批量数值运算,用Numpy数组的广播特性可以直接做行级减法,写法更简洁:
import numpy as np arr1 = np.array([[1,2,3],[5,6,7]]) diff_res = arr1[1] - arr1[0] print(diff_res) # 输出结果:[4 4 4]
JavaScript 实现
用map方法遍历第一行元素,通过索引匹配第二行对应位置做差:
const arr1 = [[1,2,3],[5,6,7]] const diffRes = arr1[0].map((firstVal, index) => arr1[1][index] - firstVal) console.log(diffRes) // 输出结果:[4, 4, 4]
注意:所有实现方案都需要保证参与计算的两行元素长度一致,避免出现索引越界、计算结果缺项的问题。
内容的提问来源于stack exchange,提问作者Khant Thu Aung
相关产品推荐
相关产品推荐

