Breaking

Post Top Ad

Your Ad Spot

martes, 17 de diciembre de 2019

Programa Python para transponer una matriz

En este ejemplo, aprenderá a transponer una matriz (que se crea mediante una lista anidada).
Para comprender este ejemplo, debe tener conocimiento de los siguientes temas de programación de Python :
  • Python para Loop
  • 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 en la i-ésima fila y la j-ésima columna en X se colocará en la j-ésima fila y la i-ésima columna en 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 matrices usando bucle anidado

  1. # Program to transpose a matrix using a nested loop
  2. X = [[12,7],
  3. [4 ,5],
  4. [3 ,8]]
  5. result = [[0,0,0],
  6. [0,0,0]]
  7. # iterate through rows
  8. for i in range(len(X)):
  9. # iterate through columns
  10. for j in range(len(X[0])):
  11. result[j][i] = X[i][j]
  12. for r in result:
  13. print(r)
Ejecutar código
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 matricial utilizando la comprensión de lista anidada

  1. ''' Program to transpose a matrix using list comprehension'''
  2. X = [[12,7],
  3. [4 ,5],
  4. [3 ,8]]
  5. result = [[X[j][i] for j in range(len(X))] for i in range(len(X[0]))]
  6. for r in result:
  7. print(r)
Ejecutar código
La salida de este programa es la misma que la anterior. Hemos utilizado la comprensión de la lista anidada para recorrer cada elemento de la matriz.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

Post Top Ad

Your Ad Spot

Páginas