您可以使用以下语法在python循环中创建lambda列表-
def square(x): return lambda : x*x listOfLambdas = [square(i) for i in [1,2,3,4,5]] for f in listOfLambdas: print f()
输出结果
这将给出输出-
1 4 9 16 25
您也可以使用称为currying的功能性编程构造来实现此目的。
listOfLambdas = [lambda i=i: i*i for i in range(1, 6)] for f in listOfLambdas: print f()
输出结果
这将给出输出-
1 4 9 16 25