给定一个元组(特别是函数varargs),我想在前面包含一个或多个项目的列表,然后调用另一个函数,并将结果作为列表。到目前为止,我提出的最好的是:
def fn(*args):
l = ['foo', 'bar']
l.extend(args)
fn2(l)
其中,鉴于Pythons在谈到这类事情时通常很简洁,看起来它需要多于2条线。有更多的pythonic方式吗?
答案 0 :(得分:9)
您可以将元组转换为列表,这样您就可以将其连接到其他列表。即:
def fn(*args):
fn2(['foo', 'bar'] + list(args))
答案 1 :(得分:1)
如果你的fn2也采用了varargs,你就不需要构建组合列表了:
def fn2(*l):
print l
def fn(*args):
fn2(1, 2, *args)
fn(10, 9, 8)
产生
(1, 2, 10, 9, 8)