[题目] 设a为M行N列的二维数组,编程将a中的行和列交换, 交换后的数组仍然存放在a中,试建立一个类TDarray,完成以上操作。
时间: 2024-04-14 15:31:05 浏览: 76
[回答] 好的,请稍等一下,我会编写一个类TDarray来完成这个操作。以下是代码示例:
```python
class TDarray:
def __init__(self, rows, cols):
self.rows = rows
self.cols = cols
self.array = [[0] * cols for _ in range(rows)]
def swap_rows_cols(self):
self.rows, self.cols = self.cols, self.rows
self.array = list(zip(*self.array))
def print_array(self):
for row in self.array:
print(row)
# 示例用法
a = TDarray(3, 4)
a.array = [[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]]
print("交换前的数组:")
a.print_array()
a.swap_rows_cols()
print("交换后的数组:")
a.print_array()
```
这个类TDarray拥有两个属性:rows(行数)和cols(列数),以及一个二维数组array来存放数据。它还提供了一个swap_rows_cols方法,用于交换行和列,并且在原数组上进行修改。最后,它还提供了一个print_array方法,用于打印数组。
在示例中,我们创建了一个3行4列的二维数组,并将其赋值给a.array。然后我们先打印出交换前的数组,然后调用swap_rows_cols方法进行交换操作,最后再打印出交换后的数组。你可以根据需要修改输入的数组大小和内容。
阅读全文