Program Python pentru transpunerea unei matrice

În acest exemplu, veți învăța să transpuneți o matrice (care este creată utilizând o listă imbricată).

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare Python:

  • Python pentru buclă
  • Lista Python

În Python, putem implementa o matrice ca o listă imbricată (listă într-o listă). Putem trata fiecare element ca pe un rând al matricei.

De exemplu X = ((1, 2), (4, 5), (3, 6))ar reprezenta o matrice 3x2. Primul rând poate fi selectată ca X(0). Și, elementul din coloana primul rând mai întâi poate fi selectată ca X(0)(0).

Transpunerea unei matrice este schimbul de rânduri și coloane. Este notat ca X '. Elementul din al doilea rând și coloana a X-a din X va fi plasat pe al doilea rând și coloana a X-a în X '. Deci, dacă X este o matrice 3x2, X 'va fi o matrice 2x3.

Iată câteva modalități de a realiza acest lucru în Python.

Transpunerea matricei folosind 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) 

Ieșire

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

În acest program, am folosit forbucle imbricate pentru a itera prin fiecare rând și fiecare coloană. În fiecare punct plasăm elementul X (i) (j) în rezultatul (j) (i).

Transpunerea matricei utilizând înțelegerea listei imbricate

 ''' 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)

Rezultatul acestui program este același ca mai sus. Am folosit înțelegerea listei imbricate pentru a itera prin fiecare element din matrice.

Articole interesante...