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

如何将形状为(x,y)的numpy数组转换为长度为x、元素为(y,)numpy数组的列表

NumPy 二维数组转指定结构列表实现方案

需求说明

将形状为(x,y)的二维NumPy数组转换为长度为x的Python列表,列表内每个元素均为形状为(y,)的一维NumPy数组。
举个示例:如果原数组形状为(100,10),转换后列表包含100个元素,每个元素都是形状为(10,)的NumPy数组。

实现方法

方法1:直接迭代转换(最简洁,推荐日常使用)

NumPy数组迭代时默认按第一维度拆分,直接用list()包裹原数组即可完成转换,代码如下:

import numpy as np

# 生成示例二维数组,形状为(100, 10)
original_arr = np.random.rand(100, 10)

# 转换为目标列表
target_list = list(original_arr)

验证结果:

  • 列表长度:len(target_list) → 输出100
  • 单个元素形状:target_list[0].shape → 输出(10,)

方法2:显式垂直拆分

如果你需要更明确的拆分语义,可以用np.vsplit沿第一维度拆分数组,直接返回符合要求的列表:

target_list = np.vsplit(original_arr, original_arr.shape[0])

注意事项

不要使用original_arr.tolist()实现该需求,该方法会将所有NumPy数值转换为Python原生数值,返回的是嵌套的Python列表,不会保留NumPy数组结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:54:03