Python program za transponiranje matrice

U ovom ćete primjeru naučiti prenijeti matricu (koja se kreira pomoću ugniježđenog popisa).

Da biste razumjeli ovaj primjer, trebali biste imati znanje o sljedećim temama programiranja na Pythonu:

  • Python za Loop
  • Popis Pythona

U Pythonu matricu možemo implementirati kao ugniježđeni popis (popis unutar popisa). Svaki element možemo tretirati kao red matrice.

Na primjer X = ((1, 2), (4, 5), (3, 6)), predstavljao bi matricu 3x2. Prvi redak može se odabrati kao X(0). Element u prvom stupcu prvog retka može se odabrati kao X(0)(0).

Transpozicija matrice je izmjena redaka i stupaca. Označava se kao X '. Element u i-tom retku i j-tom stupcu u X postavit će se u j-ti redak i i-ti stupac u X '. Dakle, ako je X matrica 3x2, X 'će biti matrica 2x3.

Evo nekoliko načina kako to postići u Pythonu.

Transpozicija matrice pomoću ugniježđene petlje

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

Izlaz

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

U ovom smo programu koristili ugniježđene forpetlje za prelazak kroz svaki redak i svaki stupac. U svaku točku stavimo element X (i) (j) u rezultat (j) (i).

Transpozicija matrice pomoću razumijevanja ugniježđenog popisa

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

Rezultat ovog programa je isti kao gore. Upotrijebili smo razumijevanje ugniježđenog popisa za itiriranje kroz svaki element u matrici.

Zanimljivi članci...