将二维数组的行列互换
时间: 2023-12-07 18:37:26 浏览: 87
以下是将二维数组的行列互换的Python代码示例:
```python
# 定义一个二维数组
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 使用zip函数和*操作符将行列互换
transpose = [list(row) for row in zip(*matrix)]
# 输出转置后的二维数组
for row in transpose:
print(row)
```
运行以上代码,输出结果为:
```
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
```
相关问题
c语言用函数将二维数组行列互换
在C语言中,你可以通过编写一个函数来交换二维数组的行和列。假设我们有一个二维整型数组`arr[row][col]`,我们可以创建一个新的辅助函数,例如`transpose_array()`,来完成这个任务。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明
void transpose(int arr[][COLS], int rows, int cols);
// 主函数
int main() {
int arr[ROWS][COLS] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 假设 ROWS=3, COLS=3
int transposed_rows = COLS; // 新的行数等于原来的列数
int transposed_cols = ROWS; // 新的列数等于原来的行数
printf("Original array:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
transpose(arr, ROWS, COLS); // 调用函数
printf("\nTransposed array:\n");
for (int i = 0; i < transposed_rows; i++) {
for (int j = 0; j < transposed_cols; j++) {
printf("%d ", arr[j][i]); // 注意索引的变化,现在是列为主
}
printf("\n");
}
return 0;
}
// 实现交换函数
void transpose(int arr[][COLS], int rows, int cols) {
for (int i = 0; i < rows; i++) {
for (int j = i; j < cols; j++) {
// 临时存储元素
int temp = arr[i][j];
// 将当前行的元素放入当前列
arr[i][j] = arr[j][i]; // arr[j][i] = temp;
// 将当前列的元素放回原位置
arr[j][i] = temp;
}
}
}
```
在这个例子中,`transpose()`函数遍历输入数组,每次迭代时交换一行和对应列的元素。
帮我编写个C程序,已知一个3X5的二维数组,内部元素毫无规律,要求将二维数组行列互换后,按矩阵形式在电脑屏幕上显示。 例如,原本的二维数组为 12131 2.6714 3.8.9.52 那在屏幕_上显示的二维数组应为 123 268 179 315 142
好的,以下是编写该程序的代码:
```c
#include <stdio.h>
int main()
{
int arr[3][5] = {{1, 2, 1, 3, 1},
{2, 6, 7, 1, 4},
{3, 8, 9, 5, 2}};
// 打印原始数组
printf("原始数组:\n");
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 5; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
// 行列互换并打印
printf("行列互换后的数组:\n");
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 3; j++)
{
printf("%d ", arr[j][i]);
}
printf("\n");
}
return 0;
}
```
这个程序的输出结果为:
```
原始数组:
1 2 1 3 1
2 6 7 1 4
3 8 9 5 2
行列互换后的数组:
1 2 3
2 6 8
1 7 9
3 1 5
1 4 2
```
请注意,程序中的数组 `arr` 已经是固定的,其中的元素也是固定的。如果你要处理其他的二维数组,你需要通过修改程序中的数组元素赋值来实现。
阅读全文