【问题标题】:Flatten a list of floats and numpy arrays展平浮点数和 numpy 数组的列表
【发布时间】:2019-09-13 18:02:09
【问题描述】:

我有以下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]

即一个扁平化的列表。

感谢您的帮助。

【问题讨论】:

标签: python list numpy flatten


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    将返回一个从 -2 到 3 的扁平列表。如果您希望将元素包含在列表对象中,但在大多数情况下,数组对象更适合使用数字。

    【讨论】:

      猜你喜欢
      • 2016-02-16
      • 2015-03-14
      • 2017-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-25
      • 2021-07-07
      相关资源
      最近更新 更多