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

Python中4x3矩阵转置为3x4矩阵时报索引越界错误问题求解

错误原因

  • 循环范围和转置矩阵维度不匹配
    你使用的原矩阵a是4行3列结构,len(a)=4对应原矩阵的行总数,len(a[0])=3对应原矩阵的列总数。你预定义的转置矩阵T是3行4列结构,有效行索引范围仅为0~2。你的外层循环用range(len(a))会让变量i取到0、1、2、3,当i=3时访问T[i][j]等价于访问T的第4行,超出T的总行数,直接触发索引越界。
  • 赋值索引顺序写反
    矩阵转置的核心逻辑是原矩阵第i行第j列的元素,对应转置矩阵第j行第i列的位置,即T[j][i] = a[i][j]。你写的T[i][j] = a[j][i]逻辑完全倒置,就算解决了越界问题也无法得到正确的转置结果,还会额外触发原矩阵a的索引越界。

修复方案

方案1:调整原有循环逻辑

仅修改赋值顺序即可正常运行:

for i in range(len(a)):
    for j in range(len(a[0])):
        T[j][i] = a[i][j]

方案2:Python原生简便写法

利用zip函数可以快速实现矩阵转置,无需手动初始化结果矩阵:

T = list(map(list, zip(*a)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 13:36:07