Python-program til transponering af en matrix

I dette eksempel lærer du at transponere en matrix (som oprettes ved hjælp af en indlejret liste).

For at forstå dette eksempel skal du have kendskab til følgende Python-programmeringsemner:

  • Python for Loop
  • Python-liste

I Python kan vi implementere en matrix som en indlejret liste (liste inde i en liste). Vi kan behandle hvert element som en række i matrixen.

For eksempel X = ((1, 2), (4, 5), (3, 6))repræsenterer en 3x2 matrix. Den første række kan vælges som X(0). Og elementet i første række første række kan vælges som X(0)(0).

Transponering af en matrix er udveksling af rækker og kolonner. Det betegnes som X '. Elementet i række I og Jth kolonne i X placeres i JT række og I kolonne i X '. Så hvis X er en 3x2 matrix, vil X 'være en 2x3 matrix.

Her er et par måder at opnå dette på Python.

Matrix Transponere ved hjælp af indlejret løkke

 # 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 dette program har vi brugt indlejrede forsløjfer til at gentage hver række og hver kolonne. På hvert punkt placerer vi X (i) (j) -elementet i resultat (j) (i).

Matrix Transponere ved hjælp af indlejret listeforstå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 af dette program er det samme som ovenfor. Vi har brugt indlejret listeforståelse til at gentage hvert element i matrixen.

Interessante artikler...