如何使 lambdas[0](10) 等于 19?

问题描述 投票:0回答:1

用于计算加法的简单 lambda 函数数组 动态数字。

def lambda_array():
    # initialize an empty array
    lambda_methods = []
    # implement a for loop to count from 0 to 9
    for i in range(10):
        # append the lambda function to the array defined above
        lambda_methods.append(lambda x, i=i: x + i)

    return lambda_methods

print(lambdas[0](10))

它打印 10,而不是 19

python arrays lambda
1个回答
0
投票

我想你错过了这行

lambdas = lambda_array()

然后,

lambdas[0]
是一个将其参数添加到 0 的函数。因此
lambdas[0](10)
返回 10+0 或 10。

如果你想要19:

print( lambdas[9](10))

即你用参数 10 调用函数 lambdas[9]。

© www.soinside.com 2019 - 2024. All rights reserved.