如何将元组作为函数的参数传递

khe*_*aud 1 python tuples function-pointers function list

我有一个包含元组的元组.

EVENT_MAPPING = (
    (func1, (paramA1, paramA2, paramA3)),
    (func2, (paramB1)),
    (func3, (paramC1, paramC2)),
)
Run Code Online (Sandbox Code Playgroud)

我迭代第一个元组.我想在第二个param和其他param中使用args调用第一个参数中包含的函数.例如,对于第一个元组:

func1(origin, paramA1, paramA2, paramA3)
Run Code Online (Sandbox Code Playgroud)

如果他们不是"起源"参数,我可以打个电话,谢谢:

args[0](args[1])
Run Code Online (Sandbox Code Playgroud)

但是对于额外的参数("起源"),我不能做那样的事情.我找到了一种方法,但它很重:

call = tuple(list(args[1]).insert(0,origin))
args[0](call)
Run Code Online (Sandbox Code Playgroud)

有一个更好的方法吗 ?

谢谢你的帮助

g.d*_*d.c 11

像这样,可能:

for func, args in EVENT_MAPPING:
  func(*args)
Run Code Online (Sandbox Code Playgroud)

*提取(扩展)内部元组,它们作为参数传递给函数.