python实现rotate matrix旋转矩阵算法
时间: 2024-12-08 08:11:35 浏览: 106
在Python中,旋转矩阵(如二维数组或图像)可以使用各种方式来完成,取决于你想要旋转的角度和方向。这里有一个常见的例子,假设你要将一个二维数组顺时针旋转90度:
```python
def rotate_matrix(matrix, k):
# 获取矩阵的行数和列数
n = len(matrix)
# 创建一个新的转置矩阵
rotated = [[0] * n for _ in range(n)]
# 将原始矩阵按行进行循环并填充新矩阵
for i in range(n):
for j in range(n):
# 使用索引转换公式(旋转90度)
new_index_i = (n - j - 1) % n
new_index_j = i
rotated[new_index_i][new_index_j] = matrix[i][j]
# 如果需要逆时针旋转,只需将k取反
if k == -1:
rotated = [[rotated[j][i] for j in range(n)] for i in range(n)]
return rotated
# 示例:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
rotated_matrix = rotate_matrix(matrix, 1) # 顺时针旋转
```
在这个函数中,`k`是用来指定旋转次数的,`k=1`代表顺时针旋转一次,`k=-1`则表示逆时针旋转一次。
如果你想自定义旋转角度,你可以使用更复杂的公式来调整索引。
阅读全文
相关推荐

















