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 for
petlje 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.