Programa Python para transpor uma matriz

Neste exemplo, você aprenderá a transpor uma matriz (que é criada usando uma lista aninhada).

Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação Python:

  • Python for Loop
  • Lista Python

Em Python, podemos implementar uma matriz como uma lista aninhada (lista dentro de uma lista). Podemos tratar cada elemento como uma linha da matriz.

Por exemplo X = ((1, 2), (4, 5), (3, 6)), representaria uma matriz 3x2. A primeira linha pode ser selecionada como X(0). E, o elemento na primeira coluna da primeira linha pode ser selecionado como X(0)(0).

A transposição de uma matriz é a troca de linhas e colunas. É denotado como X '. O elemento na i-ésima linha ejésima coluna em X será colocado na jésima linha e a iésima coluna em X '. Portanto, se X for uma matriz 3x2, X 'será uma matriz 2x3.

Aqui estão algumas maneiras de fazer isso em Python.

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

Resultado

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

Neste programa, usamos forloops aninhados para iterar em cada linha e em cada coluna. Em cada ponto, colocamos o elemento X (i) (j) no resultado (j) (i).

Transposição de matriz usando compreensão de lista aninhada

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

O resultado deste programa é o mesmo acima. Usamos compreensão de lista aninhada para iterar em cada elemento da matriz.

Artigos interessantes...