在给定相同参数的情况下,在python中迭代lambda函数列表
我想做一个x的lambda函数,它取给定x的列表中所有lambda函数的结果之间的最大值 关于如何使此功能适用于任何大小的列表,您有什么想法吗在给定相同参数的情况下,在python中迭代lambda函数列表,python,lambda,functional-programming,Python,Lambda,Functional Programming,我想做一个x的lambda函数,它取给定x的列表中所有lambda函数的结果之间的最大值 关于如何使此功能适用于任何大小的列表,您有什么想法吗 a = lambda(x): someprocess0(x) b = lambda(x): someprocess1(x) c = lambda(x): someprocess2(x) funcList = [a, b, c] function = lambda(x): max(funcList[0](x), funcList[1](x), func
a = lambda(x): someprocess0(x)
b = lambda(x): someprocess1(x)
c = lambda(x): someprocess2(x)
funcList = [a, b, c]
function = lambda(x): max(funcList[0](x), funcList[1](x), funcList[2](x))
使用以下功能:
def computeResults(functions, value):
res = []
for f in functions:
res.append(f(value))
return res
function = lambda x: max(computeResults(funcList, x))
function = lambda x: max(f(x) for f in funcList)
您可以使用a将x
应用于每个函数:
def computeResults(functions, value):
res = []
for f in functions:
res.append(f(value))
return res
function = lambda x: max(computeResults(funcList, x))
function = lambda x: max(f(x) for f in funcList)
这避免了当您只需要跟踪到目前为止找到的最高值时,将所有函数结果保存在内存中的列表中
您可能对Python文档中包含的内容感兴趣,该文档介绍了生成器表达式和其他函数技术