这可能是一个愚蠢的问题,但我在谷歌上没有任何运气。我有两个函数与输出布尔值相同的输入。我想将它们组合起来形成一个新功能。例如,如果我的函数是x
和y
def x(input): return input%3==0
def y(input): return input%5==0
answer = lambda z: x(z) and y(z)
我可以这样做,但有内置的方法吗?我试过了answer = x and z
,但那不起作用。
答案 0 :(得分:3)
两件事。
除非您明确从函数返回值,否则默认情况下它将返回None
。因此,您的x
和y
应该是这样的
def x(data):
return True if data%3==0 else False
def y(data):
return True if data%5==0 else False
更简单,
def x(data):
return data % 3 == 0
def y(data):
return data % 5 == 0
然后您可以使用all
这样的功能
print all(function(data) for function in (x, y))
现在,只有当所有函数都返回Truthy值时,all
才会返回Truthy。