Python Numpy中如何将多个一维数组合并为嵌套多维数组
数组合并保留子数组结构实现方案
你之前得到扁平化一维数组,是因为误用了会自动拆包内层子数组的拼接方法,比如Python的列表+运算、JavaScript的concat传入展开的子数组参数等,都会把内层元素直接合并到外层。正确实现只需直接将三个一维数组作为元素,存入新的外层数组即可,不同常用语言的实现如下:
- JavaScript
直接构造新数组即可,不要展开内层子数组:
const arr1 = [1, 2], arr2 = [5], arr3 = [2, 7, 9]; const res = [arr1, arr2, arr3]; // 若待合并数组已存在于一个列表中,写法如下 const arrList = [[1,2], [5], [2,7,9]]; const res = [...arrList];
- Python
不要用+拼接,直接构造新列表:
arr1 = [1, 2] arr2 = [5] arr3 = [2, 7, 9] res = [arr1, arr2, arr3]
- Java
用嵌套集合存储即可:
import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class MergeArr { public static void main(String[] args) { List<Integer> arr1 = Arrays.asList(1,2); List<Integer> arr2 = Arrays.asList(5); List<Integer> arr3 = Arrays.asList(2,7,9); List<List<Integer>> res = new ArrayList<>(); res.add(arr1); res.add(arr2); res.add(arr3); } }
内容的提问来源于stack exchange,提问作者YzWu
相关产品推荐
相关产品推荐

