Программа Python для транспонирования матрицы

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

Чтобы понять этот пример, вы должны знать следующие темы программирования Python:

  • Python для цикла
  • Список 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) в result (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)

Результат этой программы такой же, как указано выше. Мы использовали понимание вложенных списков для перебора каждого элемента в матрице.

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