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