Python-ohjelma matriisin siirtämiseksi

Tässä esimerkissä opit siirtämään matriisin (joka luodaan sisäkkäisten luetteloiden avulla).

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista Python-ohjelmointiaiheista:

  • Python for Loop
  • Python-luettelo

Pythonissa voimme toteuttaa matriisin sisäkkäisenä luettelona (luettelo luettelon sisällä). Voimme käsitellä kutakin elementtiä matriisin rivinä.

Esimerkiksi X = ((1, 2), (4, 5), (3, 6))edustaisi 3x2-matriisia. Ensimmäinen rivi voidaan valita muodossa X(0). Ensimmäisen rivin ensimmäisen sarakkeen elementti voidaan valita muodossa X(0)(0).

Matriisin siirtäminen on rivien ja sarakkeiden vaihto. Sitä merkitään X: llä. X: n i: n rivin ja j: n sarakkeen elementti sijoitetaan j: n ja i: n sarakkeen kohtaan X '. Joten jos X on 3x2-matriisi, X 'on 2x3-matriisi.

Tässä on pari tapaa saavuttaa tämä Pythonissa.

Matriisin siirto sisäkkäisillä silmukoilla

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

Tuotos

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

Tässä ohjelmassa olemme käyttäneet sisäkkäisiä forsilmukoita iteroimaan jokaisen rivin ja sarakkeen läpi. Kuhunkin kohtaan sijoitetaan X (i) (j) -elementti tulokseen (j) (i).

Matriisin siirto sisäkkäisten luetteloiden ymmärtämisen avulla

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

Tämän ohjelman tulos on sama kuin edellä. Olemme käyttäneet sisäkkäistä luetteloluetteloa iteroidaksemme matriisin jokaisen elementin.

Mielenkiintoisia artikkeleita...