如何从两个列表中查找匹配项?

时间:2012-07-23 14:54:26

标签: python python-2.7

  

可能重复:
  Python: How to find list intersection?

我在.txt中有两个数据列表

data1 = "name1", "name2", "name3", "name4" etc.

data2 = "name3", "name6", "name10" etc.

我想找出两个列表中出现的名称 我该怎么做?

4 个答案:

答案 0 :(得分:34)

使用sets

set(data1) & set(data2)

&运算符意味着“给我这两组的交集”;或者你可以使用.intersection方法:

set(data1).intersection(data2)

答案 1 :(得分:7)

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

将返回两个列表中的公共项

答案 2 :(得分:0)

>>> [ name for name in data1 if name in data2 ]
['name3']

答案 3 :(得分:-3)

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

这是一种方法,但不是最好的方式