如何将(字符串)条件作为函数参数传递?

ard*_*yan 0 python function conditional-statements

我想将 3 个条件传递给函数“check”以应用于 str1,在这种情况下输出应该是 [False, False, True]:

def check(conditions):
    str1 = '/'
    print(conditions)

check(conditions=[str1.find('//www.fao.org')!=-1, str1.find('//fao.org')!=-1, str1[0]=='/'])
Run Code Online (Sandbox Code Playgroud)

然而,在调用该函数之前,它会运行一个错误:

NameError: name 'str1' is not defined
Run Code Online (Sandbox Code Playgroud)

因为这意味着甚至在执行函数检查之前就执行了条件,所以我如何将这些条件作为参数传递?

che*_*ner 7

传递要调用的函数列表str1

def check(conditions):
    str1 = '/'
    for f in conditions:
        print(f(str1))

check(conditions=[lambda x: x.find('//www.fao.org') != -1, lambda x: x.find('//fao.org') != -1, lambda x: x[0] == '/'])
Run Code Online (Sandbox Code Playgroud)