2017-05-19 8 views
-3

私は2つのリストを持っています: a = [1,2] b = [1,2,1,1,2,2,2] リストの要素とリストの要素がまったく同じですbは1回だけです。 私はコードを試してみました:1つのリストの要素とpythonの別のリストの他の1つの要素を一致させるにはどうすればよいですか?

for unit in a: 
    for nit in b: 
     if unit==nit: 
      print(unit,nit) 

をしかし、それはリストBの要素を持つすべての類似した試合で、リストAの要素にマッチします。私は1つのマッチと複数のマッチを必要としません。

だから私は、コードのように、さらに試合を防止するための要素を削除しようとした:

私はコードを試してみました:

for unit in a: 
    for nit in b: 
     if unit==nit: 
      print(unit,nit) 
      a.remove(unit) 

をしかし、それはエラーを返します。

+6

どういう意味ですか?あなたが得ようとしている結果は何ですか? – Barmar

+1

'set(a).intersection(b)'? – umutto

+0

簡単な答え: 'break' – ShadowRanger

答えて

0

私はここに、これはあなたが 欲しいものであるかどうかわからない。しかし、私はそれを行うだろうかある

私はそれは同じ要素ではあるので、希望output.It作品一致させるために二回ユニットを印刷している
a=[1,2] 
b=[1,2,1,1,1,2,2] 
for unit in a: 
    if unit in b: 
     print (unit,unit) 

bと私たちはif条件で保証しています

0

これはあなたが欲しいものですか?

In [3]: a=[1,2] 

In [4]: b=[1,2,1,1,1,2,2] 

In [5]: a_set = set(a) 

In [6]: b_set = set(b) 

In [7]: a_set.intersection(b_set) 
Out[7]: {1, 2} 
+0

:' set(a)&set(b) 'は' {1,2} 'を返します。 –

関連する問題