将元组添加到列表中

2 投票
2 回答
3062 浏览
提问于 2025-04-15 13:51

给定一个元组(特别是函数的可变参数),我想在它前面加上一个包含一个或多个项目的列表,然后用这个结果作为列表去调用另一个函数。到目前为止,我想到的最好方法是:

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

不过,考虑到Python在处理这类事情时通常比较简洁,这样的写法似乎多了两行代码。有没有更符合Python风格的方法呢?

2 个回答

1

如果你的fn2函数也接受可变参数,那你就不需要再创建一个合并的列表了:

def fn2(*l):
    print l

def fn(*args):
    fn2(1, 2, *args)

fn(10, 9, 8)

这样会产生

(1, 2, 10, 9, 8)
9

你可以把元组转换成列表,这样就可以把它和其他列表连接在一起了。比如:

def fn(*args):
    fn2(['foo', 'bar'] + list(args))

撰写回答