Програма 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)

Результат роботи цієї програми такий же, як і вище. Ми використовували розуміння вкладеного списку для ітерації кожного елемента в матриці.

Цікаві статті...