Python实现矩阵列变换:从3×2矩阵生成指定4列矩阵
Python实现矩阵转换方案
方法一:纯Python列表推导(无需第三方库)
这是最直接的实现方式,直接遍历原矩阵每行构造目标行:
A = [[10,20],[74,25],[340,20]] result = [[a, a+b, a-b, b] for a, b in A] print(result)
逻辑很直白:对每行的两个元素a(原第一列)和b(原第二列),按顺序拼接a、两数之和a+b、两数之差a-b、b,直接生成目标矩阵。
方法二:使用numpy库(适合大型矩阵)
如果处理的矩阵规模较大,用numpy的向量化操作效率会更高:
import numpy as np A = np.array([[10,20],[74,25],[340,20]]) # 提取两列并转为列向量格式 col1 = A[:, 0].reshape(-1, 1) col2 = A[:, 1].reshape(-1, 1) # 批量计算和列与差列 sum_col = col1 + col2 diff_col = col1 - col2 # 横向拼接所有列,再转回普通列表格式 result = np.hstack([col1, sum_col, diff_col, col2]).tolist() print(result)
这种方式靠numpy的数组批量操作替代循环,处理大数据时速度优势明显。
不需要用到转置操作,因为需求是针对每行内部元素计算,转置反而会增加不必要的步骤。
内容的提问来源于stack exchange,提问作者low_code
相关产品推荐
相关产品推荐

