首页 > 解决方案 > Python - 冗余 lambda 参数的表示法

问题描述

我正在尝试构建一个功能

f(x, y, z)

其中xy都对结果没有任何影响。尽管如此,它们必须传递给函数,因为传递是由库完成的。我想:

正如我所收集的,使用下划线字符作为多值返回函数的冗余返回值是常见的做法,例如

a, _, c, d, _, _ = return_six_things(),

然而,尝试

f = lambda _, _, z: some_operation(z)

崩溃,异常警告作者使用“重复参数”(两个下划线字符)。

还有其他选择吗?

PS为了避免XY问题,我想使用lambdas的原因是为了节省一些源代码字符。无论如何我都愿意使用它们,但声明“这些参数不会被使用”对我来说更重要。

标签: pythonlambdaparametersnotation

解决方案


我将使用双下划线 ( __) 作为第二个未使用的参数:

f = lambda _, __, z: some_operation(z)

推荐阅读