比较两个列表,python

比较两个列表,python,python,nested,for-loop,Python,Nested,For Loop,我应该定义一个函数overlapping(),它接受两个列表,如果它们至少有一个共同成员,则返回True,否则返回False。为了便于练习,我应该使用两个嵌套的For循环来编写它。我做错了什么 def overlapping(a,b): for char in a: for char2 in b: return char in char2 有什么建议可以让它工作吗?Return在执行时立即结束函数。既然这是一个家庭作业,你应该自己想出解决问题的办

我应该定义一个函数overlapping(),它接受两个列表,如果它们至少有一个共同成员,则返回True,否则返回False。为了便于练习,我应该使用两个嵌套的For循环来编写它。我做错了什么

def overlapping(a,b):
    for char in a:
        for char2 in b:
            return char in char2

有什么建议可以让它工作吗?

Return在执行时立即结束函数。既然这是一个家庭作业,你应该自己想出解决问题的办法。您可以考虑使用SET.

在执行时立即返回函数。既然这是一个家庭作业,你应该自己想出解决问题的办法。你可以考虑使用SET.

你应该使用<代码> ==/COD>而不是<代码> > <代码>运算符< /P>

def overlapping(list_a,list_b):
    for char_in_list_a in list_a:
        for char_in_list_b in list_b:
            if char_in_list_a == char_in_list_b:
                return True
    return False
如果您想使用set进行某些操作:

def overlapping(a,b):
         return bool(set(a) & set(b))

您应该使用
==
而不是
中的

def overlapping(list_a,list_b):
    for char_in_list_a in list_a:
        for char_in_list_b in list_b:
            if char_in_list_a == char_in_list_b:
                return True
    return False
如果您想使用set进行某些操作:

def overlapping(a,b):
         return bool(set(a) & set(b))

如果确实需要使用2个循环:

def overlapping(a,b):
    for char1 in a:
        for char2 in b:
            if char1 == char2: return True
    return False

但是使用集合的解决方案要好得多。

如果您确实需要使用两个循环:

def overlapping(a,b):
    for char1 in a:
        for char2 in b:
            if char1 == char2: return True
    return False

但是,使用集合的解决方案要好得多。

如果是我的代码,我会使用它,但遗憾的是,赋值需要嵌套循环。只有当a[0]==b[0]时,才会返回True,而在其他情况下,则返回False。第一个代码完全错误,第二个代码基本上是家庭作业的完整解决方案。这也是错误的,因为Gusto被要求提供一个包含两个嵌套for循环的解决方案。@raceCh对我来说,这是一个不相关的家庭作业任务。我只是回答问题。为了进一步阅读,请看以下内容:@systempuntoout,这并没有改变两者都是错误的事实:第一个在不正确的位置包含不必要的其他内容,第二个不是问题的真正答案。如果是我的代码,我会选择它,但遗憾的是,赋值需要嵌套循环。只有当a[0]==b[0]时才会返回True第一个代码是完全错误的,第二个基本上是家庭作业的完整解决方案。这也是错误的,因为Gusto被要求提供一个包含两个嵌套for循环的解决方案。@raceCh对我来说,这是一个不相关的家庭作业任务。我只是回答问题。为了进一步阅读,请看以下内容:@systempuntoout,这并没有改变两者都是错误的事实:第一个在不适当的位置包含不必要的其他内容,第二个不是问题的真正答案。这一个很好!谢谢set()也很好,但是因为需要嵌套for循环,所以我不能使用set(),这一个很好!谢谢set()也很好,但是因为需要嵌套for循环,所以我不能使用set(),请参见答案。您和Manuel可能有相同的课程和/或老师。有关想法,请参阅答案。您和Manuel可能有相同的课程和/或老师。