2016-11-13 41 views
1

我試着在含有100陣列平行的兩個列表遍歷每個例如列表中的一個: list1 (list of length 100 each element being a (2482,) array) 這裏的列表中的兩個: list2 (list of length 100 each element being a (2482,) array)迭代陣列的兩個列表(並行)[蟒]

的想法是使用np.extract爲列表中的每個數組提取列表2中的有效數據(「True」)。

我嘗試:

 validdata=[] 
     for i,j in zip(list1,list2): 
      extractdata=np.extract(i,list2[j]) 
      validdata.append(extractdata) 

它返回類型錯誤「僅與一個元件整數陣列可以被轉換爲索引」,同樣地圖發生(無,list1的,列表2)

謝謝

+0

因此,這些都是元組的列表? 'l [(1,)]'是不是一個有效的指數 –

+0

我想你想要的是'extractdata = np.extract(i,j)'或者更簡單的'我[j]' – Julien

+0

是的道歉,我已經現在編輯它 –

回答

0

刪除多餘的代碼,以下就足夠了。

validdata=[] 
for i,j in zip(list1,list2): 
    validdata.append(j[i]) 

讀者可能與該輸入驗證代碼:

list2 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) 
list1 = np.array([[True, False, True], [True, True, False], [False, True, True]])