python 二维矩阵翻转
生活随笔
收集整理的這篇文章主要介紹了
python 二维矩阵翻转
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
二維矩陣翻轉
# N * N的二維矩陣 # 沿上下中線翻轉 # 沿左右中線翻轉 # 沿-45度對角線翻轉 # 沿45度對角線翻轉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# 沿45度對角線翻轉 def dui_45_xian(matrix):length = len(matrix)n = length - 1m = nfor 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 -= 1return matrix# 沿-45度對角線翻轉 def fu_dui_45_xian(matrix):n = len(matrix)m = 1for j in range(n):for i in range(m, n):# 根據坐標點找規律并交換位置matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]m += 1return matrixif __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]]總結
以上是生活随笔為你收集整理的python 二维矩阵翻转的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pytest中pytest_addopt
- 下一篇: websocket python爬虫_p