リスト、タプル、辞書の中身を可変長引数に渡す

python3 可変長引数 - Qiita

list, tuple, dictの中身を可変長引数に渡すには変数の前に*, **を付ける。

def a(*args):
    print(args)
    
def b(**kwargs)
    print(kwargs)

list  = [1,2,3]
tuple = (1,2,3)
dict  = {'a':1, 'b':2, 'c':3 }

a(*list)    # (1, 2, 3)
a(*tuple)   # (1, 2, 3)
b(**dict)   # {'a': 1, 'c': 3, 'b': 2}

a(list)     # ([1, 2, 3],)
a(tuple)    # ((1, 2, 3),)
b(dict)     # TypeError: b() takes 0 positional arguments but 1 was given
b(kwargs=dict) # {'kwargs': {'a': 1, 'c': 3, 'b': 2}}