如何在Python中使用变量参数构造动态函数调用

时间:2011-11-13 23:10:48

标签: python argument-passing variadic-functions

我正在尝试将带有变量参数列表的操作的调用包装到具有固定参数的通用函数中,如下所示:

def vectorizeIt(args, op)

op是一个具有可变数量参数的函数,args是一个包含我想传递给它的参数的列表。例如,如果len(args) == 3,那么我想像op这样致电op(args[0],args[1],args[2])op。据我所知,{{1}}需要明确地传递参数;我无法将参数列表更改为单个列表或字典。任何有关如何做到这一点的建议都表示赞赏。

1 个答案:

答案 0 :(得分:4)

使用"splat" operator *op应用任意数量的参数:

def vectorizeIt(args, op):
    op(*args)

参考: