python打印螺旋矩阵
时间: 2025-05-20 20:08:52 浏览: 20
### Python 实现螺旋矩阵打印
螺旋矩阵是指按照顺时针方向依次访问二维数组中的元素。下面是一个完整的解决方案来实现这一功能[^1]。
为了更好地理解算法逻辑,先定义函数 `print_spiral_matrix` 来接收一个 n×n 的正方形矩阵作为输入参数:
```python
def print_spiral_matrix(matrix):
result = []
while matrix:
# 移除并添加最上层行到结果列表中
result += matrix.pop(0)
# 如果还有剩余,则转置和反转剩下的部分继续循环
if matrix and matrix[0]:
for row in matrix:
result.append(row.pop())
if matrix:
result += matrix.pop()[::-1]
if matrix and matrix[0]:
for row in matrix[::-1]:
if row:
result.append(row.pop(0))
return result
```
此代码片段通过不断移除当前矩阵的外圈并将这些值加入最终的结果列表里直到遍历整个矩阵为止。每次处理完一圈之后都会对内部未被访问过的子矩形做相应的调整以便下一轮迭代可以正常工作[^2]。
对于想要测试该函数的情况,这里提供了一个简单的例子用于验证其正确性:
```python
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
spiral_order = print_spiral_matrix(matrix)
print(spiral_order) # 输出应为 [1, 2, 3, 6, 9, 8, 7, 4, 5]
```
上述实例创建了一个3x3大小的整数方阵,并调用了之前定义好的 `print_spiral_matrix()` 函数来进行螺旋顺序读取操作最后输出得到的一维序列化后的数据结构形式[^3]。
阅读全文
相关推荐















