如何将两个一维数组合并为元素一一配对的二维数组?
嘿,这个需求其实挺常见的,我来给你几种不同编程语言的实现方案,你可以按需选用~
实现方案(多语言示例)
Python 实现
在Python里,用内置的zip()函数就能轻松搞定,它会自动把两个数组对应位置的元素打包,之后转成嵌套列表就行:
a = ["1", "2", "3"] b = ["1", "2", "3"] # 直接用zip打包后转列表,得到的是元组嵌套,若需要纯列表嵌套就再加一层转换 result = [list(pair) for pair in zip(a, b)] print(result) # 输出: [["1","1"],["2","2"],["3","3"]]
如果两个数组长度可能不一致,还可以用itertools.zip_longest来兼容,但你这里两个数组长度相同,zip()完全够用。
JavaScript 实现
JS里可以用map()方法遍历数组,同时取另一个数组对应索引的元素,逻辑非常直观:
const a = ["1", "2", "3"]; const b = ["1", "2", "3"]; const result = a.map((item, index) => [item, b[index]]); console.log(result); // 输出: [["1","1"],["2","2"],["3","3"]]
要是担心两个数组长度不同,可以提前取最短数组的长度来遍历,避免索引越界。
Java 实现
Java需要手动创建二维数组,再通过循环逐个赋值:
public class MergeArrays { public static void main(String[] args) { String[] a = {"1", "2", "3"}; String[] b = {"1", "2", "3"}; // 确保两个数组长度一致,避免越界 if (a.length != b.length) { System.out.println("两个数组长度不一致,无法合并"); return; } String[][] result = new String[a.length][2]; for (int i = 0; i < a.length; i++) { result[i][0] = a[i]; result[i][1] = b[i]; } // 打印验证结果 for (String[] pair : result) { System.out.println("[" + pair[0] + ", " + pair[1] + "]"); } } }
内容的提问来源于stack exchange,提问作者Kenan Telyakar
相关产品推荐
相关产品推荐

