0

明らかに、ここで非常に簡単なものが欠けていますが、答えが得られません。

問題は、なぜコード:

def func1(arg1, *arg2):
    print arg1
    print arg2
arg1=1
arg2 = [1,2,3]
func1(arg1, *arg2)

1 (1, 2, 3) を与える

その間

def func2(arg1, **arg2):
    print arg1
    print arg2
arg1=1
arg2 = {'arg2_1':1,'arg2_2':2,'arg2_3':3}
func2(arg1, **arg2)

1 つの {'arg2_1':1,'arg2_2':2,'arg2_3':3} の代わりに 1 つの {} を返します。

関数定義にも関数呼び出しにもすべての要素を書き込むことなく、辞書をパックおよびアンパックするにはどうすればよいですか? (実際の場合、辞書には多くの要素があり、内包表記によって定義されます。)

4

1 に答える 1