gpt4 book ai didi

python - 如何将未指定数量的参数传递给 lambda? (Python)

转载 作者:行者123 更新时间:2023-12-01 04:55:50 24 4
gpt4 key购买 nike

假设我们有一个函数 func,并且该函数中有一个包含 n 个项目的列表。 n 数字根据指定给 func 的参数而变化。 func 中还有一个 lambda 函数(在调用 func 时使用 eval 创建),它接受 n 个参数并返回一些内容。有什么方法可以将列表中的项目传递给 lambda 函数(列表中的项目和 lambda 中的参数在数量上始终相等,唯一的区别是列表项目被包装在 [] 中并且参数不是)?您不能简单地将列表插入到 lambda 中,因为它会将其视为一个参数,而实际上该列表可能有 3 个、30 个或任意数量的参数。简化的图片:

def func(*args):
lst = [n items where n changes depending on *args]
lambda n arguments/items: do sth

最佳答案

您可以使用 lambda 执行类似于 *arg 和 **kwargs 的操作:

>>> a = lambda *args, **kwargs: (args, kwargs)
>>> a(1, 2, a="a", b="b")
((1, 2), {'a': 'a', 'b': 'b'})

关于python - 如何将未指定数量的参数传递给 lambda? (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27411907/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com