Programma Python per trasporre una matrice

In questo esempio, imparerai a trasporre una matrice (che viene creata utilizzando un elenco annidato).

Per comprendere questo esempio, dovresti avere la conoscenza dei seguenti argomenti di programmazione Python:

  • Python per Loop
  • Elenco Python

In Python, possiamo implementare una matrice come un elenco annidato (elenco all'interno di un elenco). Possiamo trattare ogni elemento come una riga della matrice.

Ad esempio X = ((1, 2), (4, 5), (3, 6))rappresenterebbe una matrice 3x2. La prima riga può essere selezionata come X(0). Inoltre, l'elemento nella prima colonna della prima riga può essere selezionato come X(0)(0).

La trasposizione di una matrice è l'interscambio di righe e colonne. È indicato come X '. L'elemento alla iesima riga e alla jesima colonna in X sarà posizionato alla jesima riga e all'esima colonna in X '. Quindi, se X è una matrice 3x2, X 'sarà una matrice 2x3.

Ecco un paio di modi per farlo in Python.

Matrix Transpose utilizzando 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) 

Produzione

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

In questo programma, abbiamo utilizzato forcicli annidati per scorrere ogni riga e ogni colonna. Ad ogni punto inseriamo l'elemento X (i) (j) nel risultato (j) (i).

Trasposizione della matrice utilizzando la comprensione di elenchi annidati

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

L'output di questo programma è lo stesso di sopra. Abbiamo utilizzato la comprensione di elenchi annidati per scorrere ogni elemento nella matrice.

Articoli interessanti...