在此示例中,您將學(xué)習(xí)矩陣轉(zhuǎn)置(通過(guò)使用嵌套列表創(chuàng)建矩陣)。
要理解此示例,您應(yīng)該了解以下Python編程主題:
在Python中,我們可以將矩陣實(shí)現(xiàn)為嵌套列表(列表內(nèi)的列表)。我們可以將每個(gè)元素視為矩陣的一行。
例如X = [[1, 2], [4, 5], [3, 6]]將表示一個(gè)3x2矩陣。第一行可以選擇為X[0]。并且,可以將第一行第一列中的元素選擇為X[0][0]。
矩陣的轉(zhuǎn)置是行和列的互換。 它表示為X'。 X中的第i行和第j列的元素將放置在X'中的第j行和第i列。 因此,如果X是3x2矩陣,則X'將是2x3矩陣。
以下是在Python中完成此操作的幾種方法。
# 程序使用嵌套循環(huán)轉(zhuǎn)置矩陣 X = [[12,7], [4 ,5], [3 ,8]] result = [[0,0,0], [0,0,0]] # 遍歷行 for i in range(len(X)): # iterate through columns for j in range(len(X[0])): result[j][i] = X[i][j] for r in result: print(r)
輸出結(jié)果
[12, 4, 3] [7, 5, 8]
在此程序中,我們使用了嵌套for循環(huán)來(lái)遍歷每一行和每一列。在每個(gè)點(diǎn)上,我們將X[i][j]元素放入result[j][i]。
''' 程序使用列表理解轉(zhuǎn)置矩陣''' X = [[12,7], [4 ,5], [3 ,8]] result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))] for r in result: print(r)
該程序的輸出與上面的相同。我們使用嵌套列表理解來(lái)遍歷矩陣中的每個(gè)元素。