Python是一種高級(jí)編程語言,被廣泛的應(yīng)用于各種領(lǐng)域的開發(fā)中。在Python開發(fā)過程中,常常需要對(duì)矩陣進(jìn)行一些操作,如矩陣的原地旋轉(zhuǎn)。
Python提供了多種實(shí)現(xiàn)方式,其中一種是使用numpy
庫來實(shí)現(xiàn)矩陣原地旋轉(zhuǎn)。
import numpy as np def rotate(matrix): n = len(matrix) for i in range(n // 2): for j in range(i, n - i - 1): temp = matrix[i][j] matrix[i][j] = matrix[n - j - 1][i] matrix[n - j - 1][i] = matrix[n - i - 1][n - j - 1] matrix[n - i - 1][n - j - 1] = matrix[j][n - i - 1] matrix[j][n - i - 1] = temp matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) rotate(matrix) print(matrix)
該函數(shù)實(shí)現(xiàn)了一個(gè)n階矩陣的原地旋轉(zhuǎn),旋轉(zhuǎn)前后矩陣大小不變。具體實(shí)現(xiàn)思路是:將矩陣分為四個(gè)角,依次交換四個(gè)角元素的位置,實(shí)現(xiàn)旋轉(zhuǎn)。
這是一個(gè)通用的矩陣旋轉(zhuǎn)實(shí)現(xiàn),您可以根據(jù)具體需求修改函數(shù),以滿足您的需要。