通过“查找”功能传递列表=错误?

时间:2017-10-02 10:16:16

标签: python list for-loop if-statement

我定义了一个函数,允许我在参数中查找特定字符并返回所有后续字符。例如:

def function1(parameter1):
    variable1 = parameter1[parameter1.find("&"):]
    variable1 = variable1[1:]
    return variable1

这似乎没有问题。但是,我的第二个函数有问题,它允许我通过第一个函数传递一个列表,比较,并返回True或False

def function2(list, variable1):
    for parameter1 in list:
        parameter1 = function1(list)
        if variable1 == parameter1:
            return True
        else:
            return False

然后,我将我的list和variable1定义为function2并打印:

list = ["abc&123", "def&456", "ghi&789"]
variable1 = "123"
print function2(list,variable1)

我似乎无法弄清楚我做错了什么。似乎有些事情在我如何通过列表中消失,导致有关拆分或查找的错误(我已尝试过两者),和/或我对Variable1和parameter1的比较。我确信这里有一个小问题,我不断被绊倒,但对于我的生活,我无法理解。

1 个答案:

答案 0 :(得分:0)

您正在混合listparameter1

def function2(list, variable1):
    for parameter1 in list:
        parameter2 = function1(parameter1)
        if variable1 == parameter2:
            return True
        else:
            return False

此外,当检查list中的第一项时,此函数返回。如果其中一个项适合,您可以返回True;如果没有任何内容,则可以False返回:

def function2(list, variable1):
    for parameter1 in list:
        parameter2 = function1(parameter1)
        if variable1 == parameter2:
            return True
    return False