Python-programma om een ​​matrix te transponeren

In dit voorbeeld leert u een matrix transponeren (die is gemaakt met behulp van een geneste lijst).

Om dit voorbeeld te begrijpen, moet u kennis hebben van de volgende programmeeronderwerpen in Python:

  • Python voor Loop
  • Python-lijst

In Python kunnen we een matrix implementeren als een geneste lijst (lijst in een lijst). We kunnen elk element behandelen als een rij van de matrix.

X = ((1, 2), (4, 5), (3, 6))Zou bijvoorbeeld een matrix van 3x2 vertegenwoordigen. De eerste rij kan worden geselecteerd als X(0). En het element in de eerste rij van de eerste kolom kan worden geselecteerd als X(0)(0).

Transponeren van een matrix is ​​het verwisselen van rijen en kolommen. Het wordt aangeduid als X '. Het element op de i rij en de je kolom in X wordt op de je rij geplaatst en de i kolom in X '. Dus als X een 3x2 matrix is, is X 'een 2x3 matrix.

Hier zijn een paar manieren om dit in Python te bereiken.

Matrixtransponering met behulp van geneste lus

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

Uitvoer

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

In dit programma hebben we geneste forlussen gebruikt om door elke rij en elke kolom te lopen. Op elk punt plaatsen we het X (i) (j) -element in resultaat (j) (i).

Matrixtransponering met geneste lijstbegrip

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

De output van dit programma is hetzelfde als hierboven. We hebben geneste lijstbegrip gebruikt om elk element in de matrix te doorlopen.

Interessante artikelen...