Programa Python para transponer una matriz

En este ejemplo, aprenderá a transponer una matriz (que se crea utilizando una lista anidada).

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Python:

  • Python para bucle
  • Lista de Python

En Python, podemos implementar una matriz como una lista anidada (lista dentro de una lista). Podemos tratar cada elemento como una fila de la matriz.

Por ejemplo X = ((1, 2), (4, 5), (3, 6)), representaría una matriz de 3x2. La primera fila se puede seleccionar como X(0). Y, el elemento en la primera columna de la primera fila se puede seleccionar como X(0)(0).

La transposición de una matriz es el intercambio de filas y columnas. Se denota como X '. El elemento de la i-ésima fila y la j-ésima columna de X se colocará en la j-ésima fila y la i-ésima columna de X '. Entonces, si X es una matriz de 3x2, X 'será una matriz de 2x3.

Aquí hay un par de formas de lograr esto en Python.

Transposición de matriz usando bucle anidado

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

Salida

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

En este programa, hemos utilizado forbucles anidados para recorrer cada fila y cada columna. En cada punto colocamos el elemento X (i) (j) en el resultado (j) (i).

Transposición de matrices mediante la comprensión de listas anidadas

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

La salida de este programa es la misma que la anterior. Hemos utilizado la comprensión de listas anidadas para recorrer cada elemento de la matriz.

Articulos interesantes...