Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,有没有一种方法可以将一个函数应用于另一个函数/方法的每个参数?_Python_Python 3.x_Parameters_Arguments_Mapping - Fatal编程技术网

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

在Python中,有没有一种方法可以将一个函数应用于另一个函数/方法的每个参数?,python,python-3.x,parameters,arguments,mapping,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)) 有没有办法将一个函数映射到这样一个方法的所有参数? 如果没有,如果存在未定义数量的参数,您将如何从效率的角度进行处理 请注意,我知道Python的map()和P

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

def my_function(target):
    return target + 2



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

有没有办法将一个函数映射到这样一个方法的所有参数? 如果没有,如果存在未定义数量的参数,您将如何从效率的角度进行处理


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

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

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

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

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

您可以使用字典理解,只需在函数调用中使用双星即可。或者,如果参数不需要命名,您可以在调用中解包一个map对象。您可以使用字典理解并在函数调用中使用双星。或者,如果参数不需要命名,您可以在调用中解包一个map对象。这比手动键入要好得多。谢谢你的意见。任何其他想法都是最受欢迎的。比手工打字要好得多。谢谢你的意见。任何其他想法都是非常受欢迎的。