2016-11-13 5 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)Итерация два списка массивов (Parallel) [питон]

Идея заключается в том для извлечения достоверных данных («True») из списка 2 для каждого массива в списке с помощью np.extract.

Я попытался:

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

, который возвращает ошибку типа «только целые массивы с одним элементом могут быть преобразованы в индекс», то же самое происходит с картой (None, песни1, List2)

Спасибо

+0

Так что эти списки кортежей? 'l [(1,)]' не является допустимым индексом –

+0

Я думаю, что вы хотите 'extractdata = np.extract (i, j)' или более просто 'i [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]])