如何实现N×N矩阵转置,将矩阵行元素转为垂直排列
N×N方阵转置实现(嵌套for in循环版本)
你需要实现的是方阵的转置操作,核心逻辑是将原矩阵的行、列索引互换,原矩阵第i行第j列的元素会成为转置矩阵第j行第i列的元素。以下是符合要求的Python实现:
# 定义输入的N×N方阵,这里以你给出的4×4矩阵为例 original_matrix = [ [1.0, 2.0, 3.0, 4.0], [5.0, 6.0, 7.0, 8.0], [9.0, 10.0, 11.0, 12.0], [13.0, 14.0, 15.0, 16.0] ] # 获取方阵阶数N n = len(original_matrix) # 初始化空的转置矩阵,维度为N×N transposed_matrix = [[0.0 for _ in range(n)] for _ in range(n)] # 嵌套for in循环实现转置 for j in range(n): for i in range(n): transposed_matrix[j][i] = original_matrix[i][j] # 格式化打印转置结果 for row in transposed_matrix: print(' '.join(map(str, row)))
逻辑说明
- 外层循环遍历转置矩阵的行索引
j,对应原矩阵的列索引 - 内层循环遍历转置矩阵的列索引
i,对应原矩阵的行索引 - 赋值规则严格遵循转置的数学定义,仅支持行数和列数相等的N×N方阵使用,非方阵输入会出现索引报错
运行输出
执行上述代码后输出结果和要求一致:
1.0 5.0 9.0 13.0 2.0 6.0 10.0 14.0 3.0 7.0 11.0 15.0 4.0 8.0 12.0 16.0
内容的提问来源于stack exchange,提问作者Manvir Kaur
相关产品推荐
相关产品推荐

