Šiame pavyzdyje išmoksite perkelti matricą (kuri sukurta naudojant įdėtą sąrašą).
Norėdami suprasti šį pavyzdį, turite žinoti apie šias „Python“ programavimo temas:
- „Python for Loop“
- „Python“ sąrašas
„Python“ matricą galime įgyvendinti kaip įdėtą sąrašą (sąrašas sąraše). Kiekvieną elementą galime traktuoti kaip matricos eilutę.
Pavyzdžiui, X = ((1, 2), (4, 5), (3, 6))
būtų 3x2 matrica. Pirmąją eilutę galima pasirinkti kaip X(0)
. Pirmosios eilutės pirmojo stulpelio elementą galima pasirinkti kaip X(0)(0)
.
Matricos perkėlimas yra eilučių ir stulpelių keitimas. Jis žymimas kaip X '. Elementas X-oje eilutėje ir j-oje stulpelyje bus dedamas į X-ą eilutę ir i-ą stulpelį X '. Taigi, jei X yra 3x2 matrica, X 'bus 2x3 matrica.
Štai keli būdai, kaip tai pasiekti „Python“.
Matricos perkėlimas naudojant įdėtą kilpą
# 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)
Rezultatas
(12, 4, 3) (7, 5, 8)
Šioje programoje mes naudojome įdėtas for
kilpas, kad pakartotume kiekvieną eilutę ir kiekvieną stulpelį. Kiekviename taške dedame X (i) (j) elementą į rezultatą (j) (i).
Matricos perkėlimas naudojant įdėtojo sąrašo supratimą
''' 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)
Šios programos išvestis yra tokia pati kaip aukščiau. Mes naudojome įdėtą sąrašo supratimą, kad pakartotume kiekvieną matricos elementą.