想象一下,在python中,我们有一个列表,如下所示:
[100,111,223,456,789,880]
另一个列表,如下:
[100,789,223,556,998,332,989,987]
假设任何一个列表的成员都没有重复,那么考虑第一个列表中的2个(或n个)成员驻留在python的第二个列表中的最快方法是什么?
答案 0 :(得分:3)
a=[100,111,223,456,789,880]
b=[100,789,223,556,998,332,989,987]
print list(set(a) & set(b))
#output [100, 789, 223]
答案 1 :(得分:3)
您可以尝试使用set
及其intersection()
方法:
L1 = [100, 111, 223, 456, 789, 880]
L2 = [100, 789, 223, 556, 998, 332, 989, 987]
n = ...
print len(set(L2).intersection(L1)) > n
# True or False
如果你想获得部分元素,你可以打印intersection()
的结果:
print set(L2).intersection(L1)
# set([100, 789, 223]) # list(...) to convert to list