如果列表中的项目a在列表中b

Jam*_*mus -3 python list python-2.7

我有两个清单.我需要编写一个函数detect,其

a'for item in list_a'循环以检查item_b中是否存在该项.

我该怎么做呢?没有合适的关键字我找不到任何东西!

list_a = ["Q", "W", "E"]
list_b = ["Q", "D", "E"]

def detect(item):
    return

detect(list_a[0])  
>>True
detect(list_a[1])
>>False
Run Code Online (Sandbox Code Playgroud)

我试过了:

for item in list_a:
    if item in list_b:
        return True
    else:
        return False
Run Code Online (Sandbox Code Playgroud)

小智 6

>>> set_b = set(["Q", "D", "E"])
>>> set_a = set(["Q", "W", "E"])
>>> set_a.intersection(set_b)
set(['Q', 'E'])
>>> 'Q' in set_a.intersection(set_b)
True
>>> '42' in set_a.intersection(set_b)
False
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很好的解决方案,但我有保留关于存储集合的项目,有时列表包含多次相同的项目由于特定的原因,我想如果你要将整个事物包装成一个接收两个列表并返回的函数他们的交集也作为一个清单 - 这将是一个更加令人满意的答案. (2认同)