、将一个二维数组行和列元素互换,存到另一个二维数组中。
时间: 2023-12-20 20:56:42 浏览: 53
好的,这个问题可以用以下的代码实现:
```python
def transpose_matrix(matrix):
# 获取矩阵的行数和列数
rows = len(matrix)
cols = len(matrix[0])
# 创建一个新的矩阵来存储转置后的结果
result = [[0 for _ in range(rows)] for _ in range(cols)]
# 将矩阵的行和列互换
for i in range(rows):
for j in range(cols):
result[j][i] = matrix[i][j]
return result
```
这个函数接受一个二维数组作为输入,然后创建一个新的矩阵来存储转置后的结果。然后通过两个嵌套的 for 循环,将输入矩阵的行和列互换,并将结果存储到新的矩阵中。最后将新矩阵返回即可。
例子:
```python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = transpose_matrix(matrix)
print(result)
# Output: [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
```
这里我们传递了一个 3 x 3 的矩阵作为输入,函数将其转置为一个 3 x 3 的新矩阵并返回。
相关问题
Java实现将一个二维数组行和列元素互换存到另一个二维数组
可以通过以下代码实现:
```java
public static void main(String[] args) {
int[][] arr = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int[][] transposedArr = transpose(arr);
for (int i = 0; i < transposedArr.length; i++) {
for (int j = 0; j < transposedArr[i].length; j++) {
System.out.print(transposedArr[i][j] + " ");
}
System.out.println();
}
}
public static int[][] transpose(int[][] arr) {
int rows = arr.length;
int cols = arr[0].length;
int[][] transposedArr = new int[cols][rows];
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
transposedArr[j][i] = arr[i][j];
}
}
return transposedArr;
}
```
其中,`transpose` 方法用于将原始二维数组行和列元素互换,并返回一个新的二维数组。在 `main` 方法中,我们测试了这个方法,将结果打印出来,以便查看。
将一个二维 数组行和列元素互换,存到另一个二维数组中
以下是Python的示例代码:
```python
# 原始二维数组
original_array = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
# 创建新的二维数组,行和列互换
transposed_array = [[original_array[j][i] for j in range(len(original_array))] for i in range(len(original_array[0]))]
# 输出结果
print("原始数组:")
for row in original_array:
print(row)
print("行和列互换后的数组:")
for row in transposed_array:
print(row)
```
输出结果:
```
原始数组:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
行和列互换后的数组:
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
```
首先,我们定义了一个原始二维数组`original_array`。然后,我们创建了一个新的二维数组`transposed_array`,并将原始数组的行和列元素互换存储到该数组中。这是通过使用列表推导式完成的。最后,我们输出了原始数组和行列互换后的数组。