Python program a mátrix átlós tükrözésére



A mátrix átlón átívelő tükre azt jelenti, hogy az [i, j] pozícióban lévő elemeket felcseréljük a [j, i] pozícióban lévő elemekkel. 

Probléma kijelentés

Egy kétdimenziós mátrixot kap a Pythonban egy beágyazott lista formájában, és meg kell találnia a transzponálást, vagyis a tükör az a mátrix az átlón át.

Példa

Input: 
matrix = 
[[1, 2, 3],

[4, 5, 6],

[7, 8, 9]]

Output:
[[1, 4, 7],

[2, 5, 8],

[3, 6, 9]]

Mátrix tükre a Nested for Loop használatával

Ebben a megközelítésben a beágyazott for ciklust fogjuk használni, hogy megtaláljuk a mátrix tükrét egy átlón keresztül.

Példa

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

print("Original Matrix")
print(matrix)
new nested list to store mirrormatrix
mirror_matrix = [[0 for i in range(len(matrix))] for j in range(len(matrix[0]))]
nested for loop to iterate through lists
for i in range(len(matrix)):
    for j in range(len(matrix[0])):
        mirror_matrix[j][i] = matrix[i][j]

print("Mirror Matrix")
print(mirror_matrix)

Kimenet

Original Matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Mirror Matrix
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

Mátrix tükre a lista megértésével

Ebben a megközelítésben a listamegértés fogalmát fogjuk használni, hogy megkeressük a mátrix tükrét egy átlón keresztül.

Példa

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

print("Original Matrix")
print(matrix)
mirror matrix using list comprehension
mirror_matrix = [
    [matrix[i][j] for i in range(len(matrix))] for j in range(len(matrix[0]))
]

print("Mirror Matrix")
print(mirror_matrix)

Kimenet

Original Matrix
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Mirror Matrix
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]

Kapcsolódó cikkek