Selles näites õpid maatriksit (mis luuakse pesastatud loendi abil) üle võtma.
Selle näite mõistmiseks peaksid teil olema teadmised järgmistest Pythoni programmeerimise teemadest:
- Python for Loop
- Pythoni loend
Pythonis saame maatriksi rakendada pesastatud loendina (loend loendi sees). Iga elementi võime käsitleda maatriksi reana.
Näiteks X = ((1, 2), (4, 5), (3, 6))
tähistab 3x2 maatriksit. Esimese rea saab valida järgmiselt X(0)
. Esimese rea esimese veeru elemendi saab valida järgmiselt X(0)(0)
.
Maatriksi ülekandmine on ridade ja veergude vahetamine. Seda tähistatakse kui X '. X-i i-nda rea ja neljanda veeru element paigutatakse X-i j-sse ja i-sse veergu. Nii et kui X on 3x2 maatriks, on X 'maatriks 2x3.
Siin on paar võimalust Pythonis selle saavutamiseks.
Matrix Transpose, kasutades pesastatud silmus
# 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)
Väljund
(12, 4, 3) (7, 5, 8)
Selles programmis oleme for
iga rea ja iga veeru kordamiseks kasutanud pesastatud silmuseid. Igas punktis asetame elemendi X (i) (j) tulemuseks (j) (i).
Maatriksi ülekandmine pesastatud loendi mõistmise abil
''' 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)
Selle programmi väljund on sama, mis ülal. Maatriksi iga elemendi kordamiseks oleme kasutanud pesastatud loendi mõistmist.