Програма Python за транспониране на матрица

В този пример ще се научите да транспонирате матрица (която се създава с помощта на вложен списък).

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на Python:

  • Python за Loop
  • Списък на Python

В Python можем да реализираме матрица като вложен списък (списък в списък). Можем да третираме всеки елемент като ред от матрицата.

Например X = ((1, 2), (4, 5), (3, 6))ще представлява матрица 3x2. Първият ред може да бъде избран като X(0). И, елементът в първия ред на първата колона може да бъде избран като X(0)(0).

Транспонирането на матрица е обмен на редове и колони. Означава се като X '. Елементът в i-ти ред и j-та колона в X ще бъде поставен в j-ти ред и i-та колона в X '. Така че, ако X е матрица 3x2, X 'ще бъде матрица 2x3.

Ето няколко начина да постигнете това в Python.

Транспортиране на матрица с помощта на вложен цикъл

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

Изход

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

В тази програма използвахме вложени forцикли, за да прегледаме всеки ред и всяка колона. Във всяка точка поставяме елемента X (i) (j) в резултат (j) (i).

Транспортиране на матрица, като се използва разбиране на вложен списък

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

Резултатът от тази програма е същият, както по-горе. Използвахме разбиране на вложен списък, за да прегледаме всеки елемент в матрицата.

Интересни статии...