已知一 (m x n) 矩陣 A,我們常常需要用到另一個將 A 中之行與列調換的矩陣。這個動作叫做矩陣的翻轉。舉例來說,若

A = [3 1 2]
[8 5 4]

AT = [3 8]
[1 5]
[2 4]

現在 請您針對所讀取到的矩陣進行翻轉。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

# 使用 while 迴圈,持續執行矩陣轉置過程,直到遇到例外(Exception)才終止
while 1:
try:
# 輸入矩陣的行和列數
row, col = map(int, input().split())

# 初始化一個空列表,用於存儲矩陣
putin = []

# 根據行數讀取矩陣
for i in range(0, row, 1):
# 讀取一行,並將其映射為整數列表
temp = list(map(int, input().split()))
# 將該行添加到矩陣中
putin.append(temp)

# 初始化一個新的空矩陣,用於存儲轉置後的矩陣
output = []
for i in range(0, col, 1):
output.append([0] * row)

# 進行矩陣轉置
for i in range(0, row, 1):
for j in range(0, col, 1):
# 將原矩陣的行列元素對調
output[j][i] = putin[i][j]

# 輸出轉置後的矩陣
for i in range(0, col, 1):
# 使用 * 來輸出列表中的每個元素,並用空格分隔
print(*output[i])

# 當遇到例外時,跳出迴圈
except:
break


a015. 矩陣的翻轉



作者: 微風