如何将一维列表转换为数组的数组格式以适配模型输入?
一维列表转三维数组(数组的数组)解决方案
针对你需要将一维列表转换为模型要求的数组的数组(对应示例中[1, 10, 1]的三维结构),这里提供两种实用方法:
方法1:纯Python列表转换
如果模型接受原生Python列表格式的嵌套数组,可以直接通过列表推导式完成转换:
arr_lst = [] for i in range(10): arr_lst.append(i) # 转换为[[[0], [1], ..., [9]]]格式 array_of_arrays = [[[x] for x in arr_lst]]
方法2:NumPy数组转换(推荐,匹配示例风格)
因为你示例中使用了NumPy,推荐用NumPy的维度调整方法,高效且符合模型输入要求:
import numpy as np arr_lst = [] for i in range(10): arr_lst.append(i) # 方法A:先转NumPy数组再reshape target_array = np.array(arr_lst, dtype=np.float32).reshape(1, 10, 1) # 方法B:用expand_dims扩展维度 target_array = np.expand_dims(np.array(arr_lst, dtype=np.float32), axis=(0, 2))
验证结果
执行后查看数组形状,会和示例中的arr一致:
print(target_array.shape) # 输出 (1, 10, 1)
内容的提问来源于stack exchange,提问作者Megan
相关产品推荐
相关产品推荐

