2016-11-13 97 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]])