我想打电话给需要2个参数的东西:
def bar(arg1, arg2):
return arg1 + arg2
但是在通话中我只想发一件事,一个清单:
baz = [1, 2]
foo = bar(baz)
所以这不会起作用,但是我熟悉Tcl中可以在这种情况下工作的概念,它看起来像这样:
proc bar {arg1 arg2} {
return arg1 + arg2
}
set baz [list 1 2]
set foo [bar {*}baz]
你会注意到{*}。据我所知,那件事告诉Tcl解释器评估它并首先拆开列表。所以它将两个参数不是作为一个列表发送,而是作为两个参数发送。
python是否有相同的概念?我不知道该怎么称呼它,比如内联列表分隔符等等。