2009-08-25 41 views
2

タプル(具体的には関数varargs)を指定すると、1つ以上のアイテムを含むリストを前に置いて、結果として別の関数をリストとして呼び出すことができます。 、それはこの種のものになるといつも簡潔ニシキヘビ与え、リストにタプルを追加する

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

それは必要以上には2行以上を取るように思える:これまでのところ、私が思い付くした最高です。より平凡な方法がありますか?

答えて

9

タプルをリストに変換すると、タプルを他のリストに連結することができます。すなわち:

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

何かを作り出します。ああ、残念です。 – MHarris

1

あなたFN2も可変引数を取った場合、あなたは組み合わせリストを作成する必要はありません。

def fn2(*l): 
    print l 

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

fn(10, 9, 8) 

はまさにそのような

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

ありがとう!残念ながら、fn2は第三者APIであり、varargsは使用しません。 – MHarris

関連する問題