Python for语句| MIT OCW

Python for语句| MIT OCW,python,Python,有人能帮助理解为什么这不起作用吗 这个过程有什么问题,如果 元素x出现在列表项中,否则为False def member (x, items): for i in items: if x == i: return True else: return False 因为如果第一个元素等于x,函数将返回true或false 最简单的解决方案是: def member (x, items): return

有人能帮助理解为什么这不起作用吗

这个过程有什么问题,如果 元素x出现在列表项中,否则为False

def member (x, items):
    for i in items:
        if x == i:
            return True
        else:
            return False

因为如果第一个元素等于x,函数将返回true或false

最简单的解决方案是:

def member (x, items):
    return x in items
这是一个基于您的代码的解决方案:

def member (x, items):
    for i in items:
        if x == i:
            return True
    return False

对于列表中的每个元素,
返回
True
False
。这意味着,即使对于列表中的第一个元素,函数也将
返回True
返回False
。然后停止。另外,
在items
中返回x是更实用的代码,
中不要忘记
<代码>l=[1,2,3];l中2个