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 for
loops 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.