Python program za prenos matrike

V tem primeru se boste naučili prenašati matrico (ki je ustvarjena z uporabo ugnezdenega seznama).

Če želite razumeti ta primer, morate poznati naslednje programske teme Python:

  • Python za zanko
  • Python seznam

V Pythonu lahko matriko implementiramo kot ugnezdeni seznam (seznam znotraj seznama). Vsak element lahko obravnavamo kot vrstico matrike.

Na primer X = ((1, 2), (4, 5), (3, 6))bi predstavljala matriko 3x2. Prvo vrstico lahko izberete kot X(0). Element v prvi vrstici prve vrstice lahko izberete kot X(0)(0).

Prenos matrike je izmenjava vrstic in stolpcev. Označena je z X '. Element v i-ti vrstici in j-tem stolpcu v X bo postavljen v j-ti vrstici in i-tem stolpcu v X '. Torej, če je X matrica 3x2, bo X 'matrica 2x3.

Tukaj je nekaj načinov, kako to doseči v Pythonu.

Prenos matrike z uporabo ugnezdene zanke

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

Izhod

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

V tem programu smo uporabili ugnezdene forzanke za ponovitev vsake vrstice in vsakega stolpca. Na vsaki točki postavimo element X (i) (j) v rezultat (j) (i).

Prenos matrike z uporabo razumevanja ugnezdenega seznama

 ''' 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 tega programa je enak zgoraj. Za ponovitev vsakega elementa v matriki smo uporabili razumevanje ugnezdenega seznama.

Zanimive Članki...