2012-07-23 73 views

回答

24

使用sets

set(data1) & set(data2) 

&運營商的意思是 「給我這兩個集合的交集」或者你可以使用.intersection方法:

set(data1).intersection(data2) 
+1

對,這對我來說非常合適。謝謝! – ivanhoifung 2012-07-23 14:59:03

+1

我發現.intersection本身更具可讀性,但正如你所說他們做同樣的事情。 – TimothyAWiseman 2012-07-23 15:02:41

+1

@ivanhoifung如果這解決了你的問題,你應該[通過點擊複選標記接受這個答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235)在答案旁邊。它會用一些積分獎勵雙方,並將此問題標記爲已解決。 – Levon 2012-07-23 15:18:21

-2
For a in data1: 
    for b in data2: 
     if a==b: 
     print(a) 

這是應該做的一種方式,而不是最好的辦法,雖然

4
nf = [x for x in data1 if x in data2] 
nf 

將兩個列表返回公用項

0
>>> [ name for name in data1 if name in data2 ] 
['name3'] 
相關問題