题目:
给定一个n×m矩阵相乘,求它的转置。其中1≤n≤20,1≤m≤20,矩阵中的每个元素都在整数类型(4字节)的表示范围内。
输入格式
第一行两个整数n和m;
第二行起,每行m个整数,共n行,表示n×m的矩阵。数据之间都用一个空格分隔。
输出格式
共m行,每行n个整数,数据间用一个空格分隔,表示转置后的矩阵。
样例输入
2 4
34 76 -54 7
-4 5 23 9
样例输出
34 -4
76 5
-54 23
7 9
分析:
思路一:
其实方阵的转置功能已经在python函数库里封装完成,即如果一个方阵A,则它的转置就是A.T。
思路二:
转置总的来说,就是2行4列变4行2列,也就是A[2][4]的函数转置以后变为A[4][2]的元素。
也就是A[i][j]=A[j][i]。以上就是程序的主要部分,要遍历所有的元素,肯定要循环遍历所有的i与j。
程序:
A = np.array([[1,2,3],
[4,5,6],
[7,8,9]])
# print(A.shape[0],A.shape[1])
#思路一:
print(A.T)
#思路二:
for i in range(A.shape[0]):#len(A[0])矩阵列数
for j in range(A.shape[1]):#len(A)矩阵行数
#转置就是A[i][j]和A[j][i]互换
A[i][j],A[j][i] = A[j][i],A[i][j]
print(A)