2016-11-13 6 views
1

Iは、例えば、リスト1 100のアレイをそれぞれ含む並列二つのリストに反復するトラインだ: list2 (list of length 100 each element being a (2482,) array)繰り返し処理二つのリスト【パイソン】

考えている: list1 (list of length 100 each element being a (2482,) array) ここでリスト2ですnp.extractを使用して、リスト内の各配列のリスト2から有効なデータ( "True")を抽出します。

私が試み:同じマップで発生し、(なし、LIST1、LIST2)

「一つの要素を持つ唯一の整数配列がインデックスに変換することができる」タイプエラーを返し

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

をありがとう

+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]]) 
関連する問題