python 矩阵旋转代码
时间: 2023-07-09 16:04:17 浏览: 101
以下是 Python 中矩阵旋转的代码示例:
```python
def rotate_matrix(matrix):
"""
顺时针旋转矩阵90度
:param matrix: 二维矩阵
:return: 旋转后的矩阵
"""
n = len(matrix)
for i in range(n // 2):
for j in range(i, n - i - 1):
top_left = 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] = top_left
return matrix
```
该函数接受一个二维矩阵作为参数,并返回旋转后的矩阵。该算法使用了一个嵌套的循环,用来遍历矩阵中的每个元素。在每次循环中,我们交换矩阵中四个角的元素,从而实现顺时针旋转矩阵。
相关问题
python矩阵旋转
在Python中,可以通过改变矩阵的行和列的顺序来实现矩阵的旋转。下面是一个示例代码,展示了如何将一个二维矩阵顺时针旋转90度:
```
def rotate(matrix):
n = len(matrix)
m = len(matrix[0])
result = [[0] * n for _ in range(m)]
for i in range(n):
for j in range(m):
result[j][n-1-i] = matrix[i][j]
return result
# 示例输入
matrix = [
[1, 2, 3],
[4, 5, 6]
]
# 执行旋转操作
rotated_matrix = rotate(matrix)
# 输出结果
for row in rotated_matrix:
for element in row:
print(element, end=' ')
print()
```
运行以上代码,将会得到顺时针旋转90度后的矩阵。如果需要实现其他旋转角度的操作,可以根据类似的原理进行调整。
python 矩阵旋转
在 Python 中,可以使用 NumPy 库来进行矩阵的旋转操作。下面是一个示例代码,演示如何将一个矩阵顺时针旋转 90 度:
```python
import numpy as np
# 创建一个 3x3 的矩阵
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 顺时针旋转矩阵90度
rotated_matrix = np.rot90(matrix)
print(rotated_matrix)
```
输出结果为:
```
[[3 6 9]
[2 5 8]
[1 4 7]]
```
在示例代码中,我们首先使用 NumPy 创建了一个 3x3 的矩阵 `matrix`。然后,使用 `np.rot90()` 函数对矩阵进行顺时针旋转 90 度的操作,将其赋值给 `rotated_matrix`。最后,打印出旋转后的矩阵 `rotated_matrix`。
你可以通过调整旋转角度和矩阵的大小来实现不同的旋转效果。
阅读全文