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

如何从含两个数组的列表中提取对应位置元素组成新列表

解决numpy数组列表的列提取问题

嘿,我来帮你搞定这个需求!你的列表里装的是两个numpy数组,直接用l[0]和l[1]只能拿到单个完整数组,而你需要的是把两个数组对应位置的元素分别归为一组对吧?

这里有两种简单的方法可以实现:

方法一:用numpy的转置功能

既然你已经在使用numpy了,转置操作是最直接的方式:

import numpy as np
l = [np.array([16, 19]), np.array([24, 17])]

# 先把列表转换成二维numpy数组
two_d_arr = np.array(l)
# 转置后提取每一列,再转成普通列表
result = two_d_arr.T.tolist()

# 现在result就是你要的[[16,24], [19,17]]
new_list1 = result[0]  # [16,24]
new_list2 = result[1]  # [19,17]

方法二:纯Python的zip函数

如果不想依赖numpy,用内置的zip函数也能轻松搞定:

l = [np.array([16, 19]), np.array([24, 17])]

# 用zip解压两个数组的对应元素,再转成列表
col1, col2 = zip(*l)
new_list1 = list(col1)  # [16,24]
new_list2 = list(col2)  # [19,17]

简单说下原理:zip(*l)会把两个数组的第一个元素、第二个元素分别配对,相当于把原来的“行”转换成了“列”,再转成列表就是你要的结果啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:05:18