You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从多个数组的对应索引提取值并合并为独立数组?

数组对应索引元素合并方案

给定多个长度一致的数组,需要提取每个索引位置的所有元素并组成独立数组(即矩阵转置),以下是几种常见编程语言的实现方式:

JavaScript 实现

利用数组的map方法,遍历第一个数组的每个索引,再从所有输入数组中提取对应索引的元素:

const inputArrays = [
  [1, 2, 3],
  [1, 2, 3],
  [11, 12, 13]
];

const transposed = inputArrays[0].map((_, idx) => {
  return inputArrays.map(arr => arr[idx]);
});

console.log(transposed);
// 输出结果:[[1, 1, 11], [2, 2, 12], [3, 3, 13]]

Python 实现

使用Python内置的zip函数,配合map和list完成转置,zip(*arrays)会将输入数组按索引分组,再转换为列表格式:

input_arrays = [
    [1, 2, 3],
    [1, 2, 3],
    [11, 12, 13]
]

transposed = list(map(list, zip(*input_arrays)))
print(transposed)
# 输出结果:[[1, 1, 11], [2, 2, 12], [3, 3, 13]]

注意事项

以上实现默认所有输入数组长度相同,如果存在长度不一致的数组,Python的zip会以最短数组长度为准,JavaScript的map方法则会在数组长度不足时返回undefined,可根据实际需求调整逻辑。

内容的提问来源于stack exchange,提问作者CodeAndCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 00:20:24