2013-10-05 42 views
1

我可以創建一個numpy的陣列存儲在每個位置列表(初始爲空)來保存列表?初始化二維數組中的每個位置

根據該文件,numpy的數組存儲同質類型,所以我猜想,這是可能的。但我可以初始化一個空列表嗎?

如果這是不可能的numpy的陣列,我有什麼辦法? (還有什麼其他類似2D矩陣的結構可以用來保存列表/字典/元組?)

回答

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

如果知道長度(我們稱之爲N),可以使用簡單的列表理解,然後將其轉換到numpy的數組:

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