我有一个函数
def max_f(tup, val):
max = tup[0](val)
out = tup[0]
for funz in tup:
new = funz(val)
if new > max:
max = new
out = funz
return out
我希望您能以更好的方式将其表达出来。我已经尝试过了。
def max_f2(tup, val):
return (max(funz(val) for funz in tup))
但我应该返回一个函数,而不是一个值。我该怎么办呢?
以下是一些正确输出的示例。
tupleFunz=(lambda x: x + 3 ,lambda x: x * 2,lambda x: x % 2)
max_f(tupleFunz,4)(8) #=> 16
max_f(tupleFunz,1)(8) #=> 11