📅  最后修改于: 2023-12-03 15:23:02.755000             🧑  作者: Mango
这是一个关于矩阵转置的问题。给定一个n * n
的矩阵,你需要将其转置并输出。
n
,表示矩阵的维度。n
行,每行包含 n
个整数,表示矩阵中的元素。n
行,每行 n
个整数,表示转置后的矩阵。输入:
3
1 2 3
4 5 6
7 8 9
输出:
1 4 7
2 5 8
3 6 9
这道题目用程序实现其实非常简单,只需要将原矩阵的每一行变成转置后矩阵的每一列即可。
核心代码如下:
for i in range(n):
for j in range(n):
# 注意是 matrix[j][i]
transposed_matrix[i][j] = matrix[j][i]
实现代码如下:
def transpose_matrix(matrix):
n = len(matrix)
# 初始化转置后的矩阵
transposed_matrix = [[0 for _ in range(n)] for _ in range(n)]
# 进行矩阵转置
for i in range(n):
for j in range(n):
transposed_matrix[i][j] = matrix[j][i]
return transposed_matrix
代码说明:
transpose_matrix
函数接收一个 n * n
的矩阵;n * n
矩阵作为转置后的矩阵;注意:转置后的矩阵和原矩阵是不同的对象,所以在使用的时候需要重新赋值或者使用引用。