python - Python - 冗余 lambda 参数的表示法
问题描述
我正在尝试构建一个功能
f(x, y, z)
其中x和y都对结果没有任何影响。尽管如此,它们必须传递给函数,因为传递是由库完成的。我想:
- 使用lambda表达式解决这个问题,并且
- 确保任何阅读我的代码的人都会立即知道x和y是多余的。
正如我所收集的,使用下划线字符作为多值返回函数的冗余返回值是常见的做法,例如
a, _, c, d, _, _ = return_six_things(),
然而,尝试
f = lambda _, _, z: some_operation(z)
崩溃,异常警告作者使用“重复参数”(两个下划线字符)。
还有其他选择吗?
PS为了避免XY问题,我想使用lambdas的原因是为了节省一些源代码字符。无论如何我都愿意使用它们,但声明“这些参数不会被使用”对我来说更重要。
解决方案
我将使用双下划线 ( __
) 作为第二个未使用的参数:
f = lambda _, __, z: some_operation(z)
推荐阅读
- gerrit - gerrit 查询 REST API 与 gerrit 查询 API
- java - Android studio 总是会出现两个问题:Source code does not match the bytecode and Sources for 'android-all-4.3_r2-robolectric-0.jar' not found
- javascript - Electron 没有通过 app.getVersion() 命令获取有效的版本数据
- javascript - 如何解决 NodeJS、MySQL 中无法 GET /logout 的问题
- arrays - 如何检查数组的所有项目是否包含子字符串
- opengl - 通过几何着色器将变量从顶点着色器传递到片段着色器
- sql - SQL Postgre 如果获得相同的多个数据,则显示 1 个数据以及如何实现 laravel 查询
- webrtc - 无法通过 WebRTC 发送 captureStream() 的媒体流
- android - Kotlin Int 和 Java int 表示之间的 Android 冲突
- database - 为什么 Thomas Write Rule 只忽略过时的写操作?