匹配两个列表之间的逻辑

时间:2015-06-24 18:13:16

标签: python

我有两个列表,我试图找到列表中的任何元素列表,我知道我可以两个forloops做一个匹配 ,如果没有两个for循环,有没有更好的方法来实现这个目标

lista=['LA.BF.2.1']
listb=['LA.BF.2.1','LA.BF64.1.2.1','LA.BF64.1.1']
for element in lista:
    for element in listb:
                  match

2 个答案:

答案 0 :(得分:0)

也许使用any

>>> lista=['LA.BF.2.1']
>>> listb=['LA.BF.2.1','LA.BF64.1.2.1','LA.BF64.1.1']
>>> any([ i in listb for i in lista])
True

答案 1 :(得分:0)

如果您的目标是找到lista中同时出现的listb中的任何元素,您可以将列表转换为设置,然后执行set.intersection

示例 -

>>> lista=['LA.BF.2.1','SOMETHINGELSE']
>>> listb=['LA.BF.2.1','LA.BF64.1.2.1','LA.BF64.1.1']
>>>
>>> list(set(lista).intersection(listb))
['LA.BF.2.1']