如何实现两个数组对应位置元素的一一配对组合?
如何将两个数组对应位置元素配对成嵌套数组?
问题描述
现有两个数组:
第一个数组:
[1, 2, 3, 4, 5]
第二个数组:
[100, 200, 300, 400, 500]
需要将两个数组对应位置的元素一一配对,每个配对元素转为字符串,最终得到如下嵌套数组:
[ [ '1', '100' ], [ '2', '200' ], [ '3', '300' ], [ '4', '400' ], [ '5', '500' ] ]
解决方案(JavaScript)
使用Array.map()方法遍历第一个数组,通过索引获取第二个数组对应位置的元素,转成字符串后组成子数组:
const arr1 = [1, 2, 3, 4, 5]; const arr2 = [100, 200, 300, 400, 500]; const pairedArray = arr1.map((item, index) => [ item.toString(), arr2[index].toString() ]); console.log(pairedArray);
说明:map()会遍历arr1的每个元素,同时拿到当前元素的索引index,用该索引取出arr2中对应位置的元素,两者转成字符串后组成新的子数组,最终返回所有子数组构成的嵌套数组,完全符合需求。
解决方案(Python)
使用zip()函数打包两个数组的对应元素,再通过列表推导式将元素转成字符串并组成子列表:
arr1 = [1, 2, 3, 4, 5] arr2 = [100, 200, 300, 400, 500] paired_array = [[str(x), str(y)] for x, y in zip(arr1, arr2)] print(paired_array)
说明:zip(arr1, arr2)会把两个数组对应位置的元素打包成元组,列表推导式遍历每个元组,将元素转为字符串后组成子列表,得到目标嵌套数组。
内容的提问来源于stack exchange,提问作者Andrej Krstev
相关产品推荐
相关产品推荐

