在两个以上的列表中查找匹配的元素

时间:2014-07-04 11:07:08

标签: python

如何轻松找到两个以上列表之间的常用值?

例如:

要匹配的列表:

L1 = [1,2,3,4,5]
L2 = [4,5,6,7,8]
L3 = [9,10,11,12,4]
L4 = [13,10,12,4]

会回来:

L5 = [4]    

注意:类似以下代码的内容需要太长时间:

def search(a,b,c,d):                          
    my_list=[]
    for i in a:
        for i in b:
            for i in c: 
                for i in d:
                    if i in a and i in b and i in c and i in d: 
                        id_sel.append(i)
return (my_list)

注意:类似以下代码的内容将不胜感激:

my_list=list(set(a).intersection(b)) 

1 个答案:

答案 0 :(得分:4)

使用set.intersection()

>>> set(L1).intersection(L2, L3, L4)
set([4])
#or
>>> set.intersection(set(L1), L2, L3, L4)
set([4])