Питхон програм за транспоновање матрице

У овом примеру ћете научити да транспонујете матрицу (која се креира помоћу угнежђене листе).

Да бисте разумели овај пример, требало би да имате знање о следећим Питхон програмским темама:

  • Питхон за Лооп
  • Питхон Лист

У Питхону можемо применити матрицу као угнежђену листу (листу унутар листе). Сваки елемент можемо третирати као ред матрице.

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

Транспозиција матрице је замјена редова и колона. Означава се као Кс '. Елемент у и-том реду и ј-тој колони у Кс биће постављени у ј-ти ред и и-та колона у Кс '. Дакле, ако је Кс матрица 3к2, Кс 'ће бити матрица 2к3.

Ево неколико начина да се то постигне у Питхону.

Транспозиција матрице помоћу угнежђене петље

 # 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петље за прелазак кроз сваки ред и сваку колону. У сваку тачку стављамо елемент Кс (и) (ј) у резултат (ј) (и).

Транспозиција матрице помоћу разумевања угнежђене листе

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

Резултат овог програма је исти као и горе. Користили смо разумевање угнежђене листе за итерирање кроз сваки елемент у матрици.

Занимљиви Чланци...