二维矩阵翻转
matrix3 = [
[1, 2, 3, 4, 5],
[6, 7, 8, 9, 10],
[11, 12, 13, 14, 15],
[16, 17, 18, 19, 20],
[21, 22, 23, 24, 25]
]
matrix1 = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
matrix2 = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]
]
def sx_zh(matrix):
length = len(matrix)
for j in range(length):
for i in range(length//2):
matrix[j][i], matrix[j][length-i-1] = matrix[j][length-i-1], matrix[j][i]
return matrix
def zy_zh(matrix):
length = len(matrix)
for j in range(length//2):
for i in range(length):
matrix[j][i], matrix[length-j-1][i] = matrix[length-j-1][i], matrix[j][i]
return matrix
def dui_45_xian(matrix):
length = len(matrix)
n = length - 1
m = n
for j in range(n):
for i in range(m):
matrix[j][i], matrix[n-i][n-j] = matrix[n-i][n-j], matrix[j][i]
m -= 1
return matrix
def fu_dui_45_xian(matrix):
n = len(matrix)
m = 1
for j in range(n):
for i in range(m, n):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
m += 1
return matrix
if __name__ == '__main__':
print("sx_zh: matrix1", sx_zh(matrix1))
print("sx_zh: matrix2", sx_zh(matrix2))
print("sx_zh: matrix3", sx_zh(matrix3))
print("zy_zh: matrix1", zy_zh(matrix1))
print("zy_zh: matrix2", zy_zh(matrix2))
print("zy_zh: matrix3", zy_zh(matrix3))
print("dui_45_xian: matrix1", dui_45_xian(matrix1))
print("dui_45_xian: matrix2", dui_45_xian(matrix2))
print("dui_45_xian: matrix3", dui_45_xian(matrix3))
print("fu_dui_45_xian: matrix1", fu_dui_45_xian(matrix1))
print("fu_dui_45_xian: matrix2", fu_dui_45_xian(matrix2))
print("fu_dui_45_xian: matrix3", fu_dui_45_xian(matrix3))
result:
sx_zh: matrix1 [[3, 2, 1], [6, 5, 4], [9, 8, 7]]
sx_zh: matrix2 [[4, 3, 2, 1], [8, 7, 6, 5], [12, 11, 10, 9], [16, 15, 14, 13]]
sx_zh: matrix3 [[5, 4, 3, 2, 1], [10, 9, 8, 7, 6], [15, 14, 13, 12, 11], [20, 19, 18, 17, 16], [25, 24, 23, 22, 21]]
zy_zh: matrix1 [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
zy_zh: matrix2 [[16, 15, 14, 13], [12, 11, 10, 9], [8, 7, 6, 5], [4, 3, 2, 1]]
zy_zh: matrix3 [[25, 24, 23, 22, 21], [20, 19, 18, 17, 16], [15, 14, 13, 12, 11], [10, 9, 8, 7, 6], [5, 4, 3, 2, 1]]
dui_45_xian: matrix1 [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
dui_45_xian: matrix2 [[1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [4, 8, 12, 16]]
dui_45_xian: matrix3 [[1, 6, 11, 16, 21], [2, 7, 12, 17, 22], [3, 8, 13, 18, 23], [4, 9, 14, 19, 24], [5, 10, 15, 20, 25]]
fu_dui_45_xian: matrix1 [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
fu_dui_45_xian: matrix2 [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16]]
fu_dui_45_xian: matrix3 [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15], [16, 17, 18, 19, 20], [21, 22, 23, 24, 25]]