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

Python中如何将两个各含2000元素的一维List合并为二维数组?

解决Python中两个一维列表合并为二维数组的问题

嘿,我懂你的需求!你之前用A + B的方式确实达不到预期,因为它只是把两个列表直接拼接成一个包含4000个元素的一维列表,而不是按对应位置组合成2000行2列的二维结构。下面给你几种简单的实现方法:

方法一:使用Python内置的zip()函数

这是最直观的原生Python解法,zip()会自动把两个列表中对应位置的元素配对:

# 得到由元组组成的二维列表
combined = list(zip(A, B))

# 如果需要每个子元素是列表而不是元组,用列表推导式
combined = [[a, b] for a, b in zip(A, B)]

举个小例子验证效果:

A = ["Apple", "Ant", "Avocado"]
B = ["Banana", "Bear", "Brinjal"]

# 元组版本
print(list(zip(A, B)))
# 输出: [('Apple', 'Banana'), ('Ant', 'Bear'), ('Avocado', 'Brinjal')]

# 列表版本
print([[a, b] for a, b in zip(A, B)])
# 输出: [['Apple', 'Banana'], ['Ant', 'Bear'], ['Avocado', 'Brinjal']]

方法二:使用NumPy库(如果需要NumPy数组)

如果你需要的是NumPy格式的二维数组,可以用column_stack()或者转置vstack()的结果:

import numpy as np

# 方法1:直接按列堆叠
combined_array = np.column_stack((A, B))

# 方法2:先按行堆叠再转置
combined_array = np.vstack((A, B)).T

执行后得到的combined_array就是2000行×2列的NumPy数组,完全符合你的需求。

注意:因为你提到两个列表都正好有2000个元素,所以不用担心zip()或NumPy方法的长度匹配问题;如果列表长度不一致,zip()会以较短的列表为准截断,NumPy则会报错(除非用特殊处理)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:26:55