2014-09-11 25 views
0

說我有3個numpy數組:array([1,2]),array([1,2,3])和數組([1,2,3,4])如何將numpy數組堆棧在列表中

我想獲得看起來像一個列表[陣列([1,2]),陣列([1,2,3]),陣列([1,2,3,4])]

這可以直接完成。但是,我想知道如何迭代完成它。因爲如果我開始與L = [],並做

for i in range(3,6): 
    L=[L, np.array(range(1,i))] 

於是最後我會得到一個列表的列表:[[[[],陣列([1,2])],陣列([1,2 ,3])],array([1,2,3,4])]。我怎樣才能得到想要的結果?謝謝。

np.array(range(1,i))只是一個例子。它可以是任何一維數組。

回答

1
L = [] 
for i in range(3,6): 
    L.append(np.array(range(1,i))) 

的創建:

[array([1, 2]), array([1, 2, 3]), array([1, 2, 3, 4])] 

另外,因爲L是一個Python列表,而不是一個numpy的數組:

L = [] 
for i in range(3,6): 
    L = L + [np.array(range(1,i))] 
+0

謝謝。 L.append和「+」都能正常工作。 – 2014-09-11 01:47:50

0

你在做什麼,如果你使用append+=將工作,但你也可以用列表理解輕鬆完成:

[np.arange(1, i) for i in range(3,6)] 
相關問題