使用numpy存储不同大小的对象

时间:2015-11-18 14:03:05

标签: python arrays numpy

我有以下任务:

  1. 2个清单。第一个清单 - > item,2nd list - >每个项目的元数据(2个浮点数)。
  2. 这些列表会因算法的各个步骤而改变,但它们的长度保持不变。即它们的长度增加,但同样增加。这样,索引就是一种识别元数据引用的项目的方法。
  3. 在算法的一个(重复)步骤中,我缩短了识别相同项目的列表。我必须调整元数据列表。
  4. 我可以使用通用列表来实现它,但在某些时候它会重载内存。所以,我尝试使用np.array,但问题是它们的尺寸应该对每个元素都相等。即arr=np.array([1,2, [3, [4]] ],dtype=object)返回arr.ndim=1。我需要的是它返回arr.ndim=3。我玩弄了它,发现[3,[4]]的类型为list,与np.array无关。对于np.array的每个元素,如果维度相同,则会返回np types的每个轴上的元素,例如np.int32np.array

    关键的第3步。当我浏览列表并收集相同项目的元数据时,我将它们放入同一索引下的meta_list中,即在该索引处创建(或扩展)列表列表。例如,

    meta_list=[[1,2],[3,4],[5,6],[7,8]]
    

    然后,说item_list的第1和第3个元素是相同的。所以我必须结合他们的元数据。它产生了这个:

    meta_list=[[1,2],[[3,4],[7,8]],[5,6]]
    

    但我无法理解如何使用np.array实现此步骤,从其存储效率中获益,因为[[3,4],[7,8]]元素的类型为list。 非常感谢提示。

0 个答案:

没有答案