2017-09-26 13 views
1

私は2つのリストとbを持っています。私は類似していて類似していないアイテムを抽出したい。事はa [i]がb [i]の中にある、例えばa [0] == b [0:3]です。私の試行した解決策は、似たようなもの(elseステートメントの中のもの)ではなく、異ならないもの(ifステートメント)です。 ifステートメントは複数の入力を作成し、私が欠けているものを親切に指摘します。リストの内容を抽出する

a = [[1,2,3], [9,8,3], [1,3,5], [2,3,8], [0,3,5], [5,5,7]] 
b = [[1,2,3,4,5,6], [4,5,6,8,6,0], [9,8,3,7,8,9], [5,5,7,0,3,9]] 

temp, temp1 = [], [] 
for i in a: 
    for j in b: 
     if i != j[0:3]: 
      temp.append(j) 
     else: 
      temp1.append(j) 

#print temp should output [[1,3,5], [2,3,8], [0,3,5]] but it gives something different 

#print temp1 [[1, 2, 3, 4, 5, 6], [9, 8, 3, 7, 8, 9], [5, 5, 7, 0, 3, 9]] is fine 

答えて

1

ループのネスティングによって、aiとbjのすべての可能な組み合わせに対してif条件が実行されます。

a = [[1,2,3], [9,8,3], [1,3,5], [2,3,8], [0,3,5], [5,5,7]] 
b = [[1,2,3,4,5,6], [4,5,6,8,6,0], [9,8,3,7,8,9], [5,5,7,0,3,9]] 

temp, temp1 = [], [] 
for i in a: 
    found = False 
    for j in b: 
     if i != j[0:3]: 
      pass 
     else: 
      found = True 
      temp1.append(j) 
    if not found : 
     temp.append(i) 
:また、あなたはあなたの条件に言及したものから、あなたはあなたが示すように、見つから/見つかりませんブール値を保持するためにブール変数を使用することができます

(ないBJ)温度におけるAIの値を必要としているように見えます

0
a = [[1,2,3], [9,8,3], [1,3,5], [2,3,8], [0,3,5], [5,5,7]] 
b = [[1,2,3,4,5,6], [4,5,6,8,6,0], [9,8,3,7,8,9], [5,5,7,0,3,9]] 

temp, temp1 = [], [] 
for i in a: 
    for j in b: 
     if i != j[0:3]: 
      **temp.append(i) 
      break** 
     else: 
      temp1.append(j) 
関連する問題