将元组附加到列表中

时间:2009-08-25 09:50:44

标签: python

给定一个元组(特别是函数varargs),我想在前面包含一个或多个项目的列表,然后调用另一个函数,并将结果作为列表。到目前为止,我提出的最好的是:

def fn(*args):
    l = ['foo', 'bar']
    l.extend(args)
    fn2(l)

其中,鉴于Pythons在谈到这类事情时通常很简洁,看起来它需要多于2条线。有更多的pythonic方式吗?

2 个答案:

答案 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)