python實現轉置矩陣 用Python轉置矩陣?

2021-10-16 20:04:27 字數 1114 閱讀 5365

轉置矩陣意味著我們將其列變為行。讓我們通過乙個例子來理解它,如果轉置後看起來像什麼。

假設您有原始矩陣,例如-x = [[1,2][3,4][5,6]]

在上面的矩陣「 x」中,我們有兩列,分別為1、3、5和2、4、6。

因此,當我們在矩陣「 x」上方轉置時,列變為行。因此,上面矩陣的轉置版本看起來像-x1 = [[1, 3, 5][2, 4, 6]]

因此,我們有另乙個矩陣「 x1」,在不同的位置以不同的值組織不同。

以下是在python中完成此操作的幾種方法-

方法1-使用巢狀迴圈進行矩陣轉置-#original matrixx = [[1,2],[3,4],[5,6]]result = [[0, 0, 0], [0, 0, 0]]# iterate through rowsfor i in range(len(x)):   #iterate through columns   for j in range(len(x[0])):      result[j][i] = x[i][j]   for r in resultprint(r)

結果[1, 3, 5]

[2, 4, 6]

方法2-使用巢狀列表理解的矩陣轉置。#original matrixx = [[1,2],[3,4],[5,6]]result = [[x[j][i] for j in range(len(x))] for i in range(len(x[0]))]for r in result   print(r)

結果[1, 3, 5]

[2, 4, 6]

列表理解使我們能夠編寫簡潔的**,應在python中經常使用。

方法3-使用zip進行矩陣轉置#original matrixx = [[1,2],[3,4],[5,6]]result = map(list, zip(*x))for r in result   print(r)

結果[1, 3, 5]

[2, 4, 6]

方法4-使用numpy庫進行矩陣轉置numpy庫是為有效處理大型多維陣列而構建的陣列處理程式包。import numpy#original matrixx = [[1,2],[3,4],[5,6]]print(numpy.transpose(x))

結果[[1 3 5]

[2 4 6]]

用python實現矩陣轉置

前幾天群裡有同學提出了乙個問題 手頭現在有個列表,列表裡面兩個元素,比如 1,2 之後不斷的新增新的列表,往原來相應位置新增。例如新增 3,4 使原列表擴充為 1,3 2,4 再新增 5,6 擴充為 1,3,5 2,4,6 等等。其實不動腦筋的話,用個二重迴圈很容易寫出來 def trans m a...

Python 矩陣轉置

在讀時,會用到這麼的一段 image vector len np.prod image size 總元素大小,3 55 47 img image.open path arr img np.asarray img,dtype float64 arr img arr img.transpose 2,0,...

C語言 用指標實現矩陣轉置

題目如下 編寫乙個函式 void transpose int matrix 10 int n 實現對乙個矩陣的前n行和前n列轉置。先在主函式中初始化如下矩陣,然後輸入n n 10 呼叫transpose函式前n行n列的轉置。1 3 5 7 9 6 5 4 3 2 2 4 6 8 0 7 6 5 4 ...