有没有一种方法可以将函数应用于Python中另一个函数/方法的每个参数?

时间:2020-02-20 15:52:12

标签: python python-3.x parameters arguments mapping

让我们假设下面的代码,其中对象的方法接受多个整数参数:

def my_function(target):
    return target + 2



my_object.DoSomething(param1=my_function(1), param2=my_function(4), param3=my_function(7))

有没有办法将单个函数映射到类似方法的所有参数? 如果没有,那么从效率的角度来看,如果参数数量不确定,您将如何处理它?<​​/ p>

请注意,我知道Python的map()和Pandas的apply()是如何工作的。上面的数字也只是说明我的观点的例子。

1 个答案:

答案 0 :(得分:2)

您可以将参数存储在字典中,并在调用函数时解压缩它们:

params = {'param1': 1, 'param2': 4, 'param3': 7}
my_object.DoSomething(**{k: my_function(v) for k, v in params.items()})
相关问题