返回 1.3 使用
2.3 使用
大显身手,运用神奇的数组转换方法
前端
2023-12-23 08:39:18
一维数组和二维数组的相互转换
1. 一维数组转二维数组
1.1 基本方法
将一维数组转换为二维数组的基本方法是使用循环语句,将一维数组中的元素逐个复制到二维数组中。例如,以下代码将一维数组array1
转换为二维数组array2
:
int main() {
int array1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int array2[5][2];
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 2; j++) {
array2[i][j] = array1[i * 2 + j];
}
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", array2[i][j]);
}
printf("\n");
}
return 0;
}
1.2 使用数组切片
也可以使用数组切片来将一维数组转换为二维数组。例如,以下代码将一维数组array1
转换为二维数组array2
:
int main() {
int array1[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int array2[5][2];
for (int i = 0; i < 5; i++) {
array2[i] = array1 + i * 2;
}
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", array2[i][j]);
}
printf("\n");
}
return 0;
}
1.3 使用reshape()
函数
在NumPy库中,提供了reshape()
函数,可以直接将一维数组转换为二维数组。例如,以下代码将一维数组array1
转换为二维数组array2
:
import numpy as np
array1 = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
array2 = array1.reshape(5, 2)
print(array2)
2. 二维数组转一维数组
2.1 基本方法
将二维数组转换为一维数组的基本方法是使用循环语句,将二维数组中的元素逐个复制到一维数组中。例如,以下代码将二维数组array2
转换为一维数组array1
:
int main() {
int array2[5][2] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}};
int array1[10];
int k = 0;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 2; j++) {
array1[k++] = array2[i][j];
}
}
for (int i = 0; i < 10; i++) {
printf("%d ", array1[i]);
}
return 0;
}
2.2 使用数组切片
也可以使用数组切片来将二维数组转换为一维数组。例如,以下代码将二维数组array2
转换为一维数组array1
:
int main() {
int array2[5][2] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10}};
int array1[10];
int k = 0;
for (int i = 0; i < 5; i++) {
array1[k++] = array2[i][0];
array1[k++] = array2[i][1];
}
for (int i = 0; i < 10; i++) {
printf("%d ", array1[i]);
}
return 0;
}
2.3 使用ravel()
函数
在NumPy库中,提供了ravel()
函数,可以直接将二维数组转换为一维数组。例如,以下代码将二维数组array2
转换为一维数组array1
:
import numpy as np
array2 = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10]])
array1 = array2.ravel()
print(array1)
数组转换的应用场景
1. 接口返回数据处理
在实际开发工作中,我们经常会遇到需要将接口返回的数据转换为特定格式的情况。例如,接口返回一个数组,展示时每行固定显示n
个,则可将返回的数组转成二维数组[[...n], [...n]...]
的形式循环展示。
2. 数据分析与处理
在数据分析与处理过程中,也经常需要将数据转换为不同的格式。例如,将一维数据转换为二维数据,便于进行可视化分析;将二维数据转换为一维数据,便于进行统计分析。
3. 算法与计算
在算法与计算领域,也经常需要将数据转换为不同的格式。例如,将一维数据转换为二维数据,便于进行矩阵运算;将二维数据转换为一维数据,便于进行向量运算。