将参数传递给列表中的函数

2024-09-28 05:20:34 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑下面的例子:

def fcn_a(x, y):
    return x + y


def fcn_b(x, y):
    return x * y


def fcn_c(x, y):
    return x / y


fcns = [fcn_a, fcn_b, fcn_c]


x = [1, 2, 3]
y = [10, 20, 30]

我需要将fcns中的函数按顺序应用于xy中的每对元素。大概是这样的:

result = []
for i in range(len(fcns)):
    result.append(fcns[i](x[i], y[i]))

# result == [11, 40, 0.1]

我如何使用列表理解来实现这一点


Tags: 函数in元素列表forlenreturn顺序
1条回答
网友
1楼 · 发布于 2024-09-28 05:20:34

您可以将内置函数enumerate与列表理解一起使用:

result = [f(x[i], y[i]) for i, f in enumerate(fcns)]

输出:

[11, 40, 0.1]

相关问题 更多 >

    热门问题