python 矩阵旋转
时间: 2023-08-27 11:22:49 浏览: 153
在 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`。
你可以通过调整旋转角度和矩阵的大小来实现不同的旋转效果。
相关问题
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矩阵旋转90
以下是两种Python矩阵旋转90度的方法:
1. 使用NumPy库中的函数进行旋转:
```python
import numpy as np
# 假设原始矩阵为matrix
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 使用np.rot90()函数进行旋转
matrix = np.rot90(matrix, 3) # 因为默认逆时针旋转,所以这里转三次
# 输出旋转后的矩阵
print(matrix)
```
输出结果为:
```
[[3 6 9]
[2 5 8]
[1 4 7]]
```
2. 不使用任何库,使用zip(*)进行转置:
```python
def rotate(matrix):
matrix = matrix[::-1] # 先将矩阵上下翻转
res = []
for line in zip(*matrix): # 使用zip(*)进行转置
res.append(list(line))
return res
# 假设原始矩阵为matrix
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 调用rotate()函数进行旋转
matrix = rotate(matrix)
# 输出旋转后的矩阵
print(matrix)
```
输出结果为:
```
[[3, 6, 9], [2, 5, 8], [1, 4, 7]]
```
阅读全文