Python - 冗余 lambda 参数的表示法

Python - notation for redundant lambda parameters

我正在尝试构建一个函数

f(x, y, z)

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

据我所知,使用下划线字符表示多值returning 函数中的冗余return 值是常见的做法,例如

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

然而,尝试

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

崩溃并警告作者使用 'duplicate arguments'(两个下划线字符)。

还有其他选择吗?

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

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

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

选项:

# pass in z as a keyward argument
# like this: f(x,y,z=1)
f = lambda *_,z: some_operation(z)

#Or:
# pass in any number of arguments and only use the last argument 
f = lambda *z: some_operation(z[-1])