在给定相同参数的情况下,在python中迭代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

我想做一个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), 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文档中包含的内容感兴趣,该文档介绍了生成器表达式和其他函数技术