展平浮点数和 numpy 数组的列表

Flatten a list of floats and numpy arrays

我有以下 list 个实例:

import numpy as np
l = [4.0, 0.0, np.array([0.0, 1.0, 2.0, 3.0, -3.0, -2.0, -1.0]), np.array([2.0, 4.0, 0.0])]

是不是获取一个如下值的列表太麻烦了:

[4.0, 0.0, 0.0, 1.0, 2.0, 3.0, -3.0, -2.0, -1.0, 2.0, 4.0, 0.0]

即扁平化列表。

在此感谢您的帮助。

尝试 np.hstack(l),它水平堆叠一维数组、列表(可迭代对象)和标量。 https://docs.scipy.org/doc/numpy/reference/generated/numpy.hstack.html

您可以尝试使用ndarray.tolist()将数组转换为列表对象,然后将它们添加到列表中,例如:

a1 = np.array([0,1,2,3])
l1 = [-2,-1]

a1_list = a1.tolist()
l1.extend(a1_list)

将 return 一个从 -2 到 3 的扁平化列表。这是为了防止您希望将元素包含在列表对象中,但在大多数情况下,数组对象更适合处理数字。