簡體   English   中英

如何將元組作為 function 的參數傳遞

[英]How to pass tuple as parameters of a function

我有一個包含元組的元組。

EVENT_MAPPING = (
    (func1, (paramA1, paramA2, paramA3)),
    (func2, (paramB1)),
    (func3, (paramC1, paramC2)),
)

我遍歷第一個元組。 我想調用第一個參數中包含的 function,第二個參數中的 args 加上其他參數。 例如,對於第一個元組:

func1(origin, paramA1, paramA2, paramA3)

如果他們不是“起源”參數,我可以通過以下方式撥打電話:

args[0](args[1])

但是有了額外的參數(“起源”),我不能做那樣的事情。 我找到了一種方法,但它很重:

call = tuple(list(args[1]).insert(0,origin))
args[0](call)

有一個更好的方法嗎?

謝謝你的幫助

像這樣,大概:

for func, args in EVENT_MAPPING:
  func(*args)

* 提取(擴展)內部元組,並將它們作為 arguments 傳遞給 function。

for func, args in EVENT_MAPPING:
    func(origin, *args)

如果你想將原點添加到 args,這樣的事情應該可以工作:

for func, args in EVENT_MAPPING:
    func(*(origin,)+args)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM