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