[英]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.