Python-program for å transponere en matrise

I dette eksemplet lærer du å transponere en matrise (som opprettes ved hjelp av en nestet liste).

For å forstå dette eksemplet, bør du ha kunnskap om følgende Python-programmeringsemner:

  • Python for Loop
  • Python-liste

I Python kan vi implementere en matrise som en nestet liste (liste inne i en liste). Vi kan behandle hvert element som en rad av matrisen.

For eksempel X = ((1, 2), (4, 5), (3, 6))vil representere en 3x2 matrise. Den første raden kan velges som X(0). Og elementet i første rad første kolonne kan velges som X(0)(0).

Transponere av en matrise er utveksling av rader og kolonner. Det er betegnet som X '. Elementet i denne rad og jte kolonne i X vil bli plassert på jte rad og med kolonne i X '. Så hvis X er en 3x2 matrise, vil X 'være en 2x3 matrise.

Her er et par måter å oppnå dette på Python.

Matrise Transponere ved hjelp av nestet 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) 

Produksjon

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

I dette programmet har vi brukt nestede forsløyfer for å gjenta gjennom hver rad og hver kolonne. På hvert punkt plasserer vi X (i) (j) -elementet i resultat (j) (i).

Matrise Transponere ved hjelp av nestet 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 av dette programmet er det samme som ovenfor. Vi har brukt nestet listeforståelse for å gjenta gjennom hvert element i matrisen.

Interessante artikler...