Python program mátrix átültetésére

Ebben a példában megtanulják átültetni egy mátrixot (amely beágyazott lista használatával jön létre).

A példa megértéséhez ismernie kell a következő Python programozási témákat:

  • Python for Loop
  • Python lista

A Pythonban megvalósíthatunk egy mátrixot beágyazott listaként (lista a listán belül). Minden elemet a mátrix soraként kezelhetünk.

Például X = ((1, 2), (4, 5), (3, 6))egy 3x2 mátrixot képviselne. Az első sor kiválasztható X(0). És az elem az első sor első oszlopában kiválasztható X(0)(0).

A mátrix átültetése a sorok és oszlopok felcserélése. X'-ként jelöljük. Az X-ben az i-edik sorban és a j-edik oszlopban lévő elem az X'-ben a j-edik, az i-ik oszlopban lesz. Tehát, ha X 3x2 mátrix, akkor X '2x3 mátrix lesz.

Itt van néhány módszer ennek megvalósítására a Pythonban.

Matrix Transpose a Nested Loop segítségével

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

Kimenet

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

Ebben a programban egymásba ágyazott forhurkokat használtunk az egyes sorok és oszlopok végigjátszásához. Minden ponton elhelyezzük az X (i) (j) elemet a (j) (i) eredménybe.

Matrix Transpose a beágyazott lista megértésével

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

Ennek a programnak a kimenete megegyezik a fentiekkel. A beágyazott listamegértést alkalmaztuk a mátrix egyes elemeinek iterálásához.

érdekes cikkek...