Python-programmet för att transponera en matris

I det här exemplet lär du dig att transponera en matris (som skapas med hjälp av en kapslad lista).

För att förstå detta exempel bör du ha kunskap om följande Python-programmeringsämnen:

  • Python for Loop
  • Python List

I Python kan vi implementera en matris som en kapslad lista (lista i en lista). Vi kan behandla varje element som en rad i matrisen.

Till exempel X = ((1, 2), (4, 5), (3, 6))representerar en 3x2 matris. Den första raden kan väljas som X(0). Och elementet i första raden första kolumnen kan väljas som X(0)(0).

Transponering av en matris är utbytet av rader och kolumner. Det betecknas som X '. Elementet vid raden i och i kolumnen J i X kommer att placeras vid den tredje raden och kolumnen i X '. Så om X är en 3x2-matris blir X 'en 2x3-matris.

Här är ett par sätt att uppnå detta i Python.

Matrix Transpose med hjälp av Nested Loop

 # Program to transpose a matrix using a nested loop X = ((12,7), (4 ,5), (3 ,8)) result = ((0,0,0), (0,0,0)) # iterate through rows 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) 

Produktion

 (12, 4, 3) (7, 5, 8) 

I det här programmet har vi använt kapslade forslingor för att itera igenom varje rad och varje kolumn. Vid varje punkt placerar vi X (i) (j) -elementet i resultat (j) (i).

Matrix Transpose med hjälp av kapslad listförståelse

 ''' Program to transpose a matrix using list comprehension''' 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)

Resultatet för detta program är detsamma som ovan. Vi har använt kapslad listförståelse för att itera igenom varje element i matrisen.

Intressanta artiklar...