检查三个列表中的公共元素:它检查相同的列表

Bac*_*inh 5 python list

我需要输入三个列表并进行布尔检查,检查所有列表是否有共同元素.到目前为止,代码的主要部分如下所示:

def in_all_three(listA, listB, listC):
    for x in listA:
        if x in listB and x in listC:
            return True
        else: 
            return False
Run Code Online (Sandbox Code Playgroud)

我不知道为什么,但如果列表相同则只返回True.我的代码出了什么问题?

小智 1

从逻辑上讲,只有在检查了所有项目并且未找到匹配项后,才需要返回 False。为此,您需要返回 FALSE;循环完成后。

def in_all_three(listA, listB, listC):
for x in listA:
    if x in listB and x in listC:
        return True
return False
Run Code Online (Sandbox Code Playgroud)