Mar*_*usz 7 python lambda arguments
假设我们有一个函数func,该函数中有一个包含 n 项的列表。n 数字根据给定func 的参数而变化。func中还有一个lambda函数(在调用func时使用 eval 创建),它接受 n 个参数并返回一些内容。有什么方法可以将列表中的项目传递给lambda函数(列表中的项目和 lambda 中的参数在数量上始终相等,唯一的区别是列表项目包含在 [] 中,而参数不是)?您不能简单地将列表插入到lambda中,因为 lambda 将其视为一个参数,而实际上该列表可能有 3 个、30 个或任意数量的参数。简化的图片:
def func(*args):
lst = [n items where n changes depending on *args]
lambda n arguments/items: do sth
Run Code Online (Sandbox Code Playgroud)
您可以使用 lambda 执行类似于 *arg 和 **kwargs 的操作:
>>> a = lambda *args, **kwargs: (args, kwargs)
>>> a(1, 2, a="a", b="b")
((1, 2), {'a': 'a', 'b': 'b'})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5704 次 |
| 最近记录: |