python - 矩阵转置 python 4x3 到 3x4 python
问题描述
**大家好,我有一个问题。你能帮我解决一下吗,我不明白为什么我的代码不正确。我有一个矩阵:
a = [
[33,15,14],
[3,55,21],
[0,17,12],
[7,0,15]
]
and need to transpose it to:
Transpose = [
[33,3,0,7],
[15,55,17,0],
[14,21,12,15]
]
T = [
[0,0,0,0],
[0,0,0,0],
[0,0,0,0]
]
print(T)
for i in range(len(a)):
for j in range(len(a[0])):
T[i][j] = a[j][i]
为什么在这段代码之后我得到一个索引超出范围的错误?它不会像这样迭代:
a[0][0] = a[0][0]
a[0][1] = a[1][0]
a[0][2] = a[2][0]
等等。**
解决方案
len(a)
给出数组中对象的数量
但是,您永远不会考虑数组以 0 作为第一个位置的事实。
尝试len(a)-1
,len(a[0])-1
它应该工作。
推荐阅读
- javascript - 在卸载 javascript 之前等待函数执行
- c - 中点积分的黎曼和不够准确
- scapy - 在 ICMP scapy 中更改 IP
- python - Python套接字在一段时间后断开连接
- laravel - Laravel 中间件未重定向到自定义登录页面
- android - cordova build --debug 和 --release 之间的区别
- python - 未找到参数“(”,)”的“service_fee”反向。尝试了 1 种模式:['fees/(?P
[0-9]+)$'] - android - Android studio - xml、item冲突问题
- string - StringContext$InvalidEscapeException: 在创建 HTML 字符串主体时,无效转义 '\:' 不是 [\b、\t、\n、\f、\r、\\、\"、\'] 之一
- ssl - 本地 IP 的自签名 SSL 证书