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

如何在Python中从两个一维数组生成指定形式的二维数组

合并两个一维数组为指定二维数组的Python实现

嘿,这个需求其实在Python里有好几种简单易上手的实现方式,我给你整理几个常用的方案:

方法一:用zip()函数(最简洁高效)

zip()函数天生就是用来把多个可迭代对象的对应元素配对的,刚好符合你的需求。不过要注意,直接用zip()返回的是迭代器,转成列表后得到的是元组的列表,如果需要里面是列表类型,再用列表推导式转一下就行:

x = [1,2,3,4,5]
y = [6,7,8,9,10]

# 得到元组的列表:[(1,6), (2,7), ...]
combined_tuple = list(zip(x, y))

# 转成你需要的列表的列表
combined = [list(pair) for pair in zip(x, y)]
print(combined)  # 输出: [[1,6],[2,7],[3,8],[4,9],[5,10]]

方法二:索引遍历的列表推导式

如果你想更直观地控制每个元素的位置,也可以通过遍历索引来构建新数组:

x = [1,2,3,4,5]
y = [6,7,8,9,10]

combined = [[x[i], y[i]] for i in range(len(x))]
print(combined)

⚠️ 注意:这个方法要求x和y的长度必须一致,否则会出现索引越界的错误。

方法三:基础循环(适合新手理解逻辑)

如果你刚接触Python,想一步步看清楚构建过程,可以用基础的for循环来实现:

x = [1,2,3,4,5]
y = [6,7,8,9,10]

combined = []
for i in range(len(x)):
    # 每次把对应位置的两个元素组成列表,添加到combined里
    combined.append([x[i], y[i]])

print(combined)

一般来说,推荐用第一种zip()的方法,代码简洁且效率高,尤其是处理大规模数据的时候优势更明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:37:38