矩阵转换
1 #!/usr/local/bin/python3 2 3 # 通用 4 def transpose_irregular(matrix_s): 5 print('原矩阵为:',matrix_s) 6 matrix_d = [[0 for col in range(len(matrix_s))] for row in range(len(matrix_s[0]))] 7 print(matrix_d) 8 for i in range(len(matrix_s[0])): 9 for j in range(len(matrix_s)): 10 matrix_d[i][j] = matrix_s[j][i] 11 return matrix_d 12 13 # 方阵 14 def transpose_regular(matrix_s): 15 print('原矩阵为:',matrix_s) 16 for i in range(len(matrix_s)): 17 for j in range(i): 18 matrix_s[i][j],matrix_s[j][i]=matrix_s[j][i],matrix_s[i][j] 19 20 return matrix_s 21 22 if __name__ == '__main__': 23 row=int(input('输入矩阵行数:')) 24 col=int(input('输入矩阵列数:')) 25 matrix_s=[[0 for col in range(col)] for row in range(row)] 26 for i in range(row): 27 matrix_s[i] = input('输入第%s行数据:'%i).split(' ') 28 29 if len(matrix_s) == len(matrix_s[0]): 30 matrix_d=transpose_regular(matrix_s) 31 else: 32 matrix_d=transpose_irregular(matrix_s) 33 print('转换后矩阵为:',matrix_d)