初始化2D数组以在每个位置保存列表

时间:2013-10-05 22:30:42

标签: python numpy

我可以在每个位置创建一个存储列表(最初为空)的numpy数组吗?

根据文档,numpy数组存储同类型,所以我想这是可能的。但是我可以初始化一个来保存空列表吗?

如果numpy数组无法做到这一点,我还有哪些替代方案? (我可以使用其他类似2D矩阵的结构来保存列表/词典/元组吗?)

2 个答案:

答案 0 :(得分:2)

这很少是一个好主意,但你要求的是一个对象类型数组:

>>> a = np.empty((5,), dtype=object)
>>> a
array([None, None, None, None, None], dtype=object)
>>> a[0] = []
>>> a
array([[], None, None, None, None], dtype=object)
>>> a[0].append(4)
>>> a
array([[4], None, None, None, None], dtype=object)

答案 1 :(得分:1)

如果你知道长度(我们称之为N),你可以使用一个简单的列表理解,然后将它转换为numpy数组:

>>> empty_array = numpy.array([[] for i in xrange(N)])