python顺序表的就地转置
时间: 2024-06-13 17:03:00 浏览: 167
顺序表的就地逆置的算法
在Python中,顺序表(也称为数组或列表)的就地转置(也称作原地转置或列转换)指的是不创建额外的数据结构,直接在原始列表上交换行和列的位置。这种操作通常用于需要节省内存的情况,因为不需要为新的矩阵分配空间。
以下是一个简单的Python代码示例,使用列表推导式和切片来实现顺序表的就地转置:
```python
def transpose_in_place(matrix):
# 确保输入的是二维列表
if not all(isinstance(row, list) and len(row) > 0 for row in matrix):
raise ValueError("Input should be a 2D list")
n = len(matrix)
for i in range(n):
matrix[i], matrix[i][::-1] = matrix[i][::-1], matrix[i] # 交换行和列
return matrix
# 示例:
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
transposed_matrix = transpose_in_place(matrix)
print(transposed_matrix)
```
阅读全文