Search code examples
pythonlistparameterstuplesvariadic-functions

Passing a list of parameters into a Python function


How would I pass an unknown number of parameters into a function? I have a function defined in the following way

def func(x, *p):
    # do something with variable number of parameters (*p)
    pass

I'm trying to pass in a list of values to use as parameters. I tried using a list and a tuple but the function always returns zero. Has anyone got any advice?


Solution

  • some_list = ["some", "values", "in", "a", "list", ]
    func(*some_list)
    

    This is equivalent to:

    func("some", "values", "in", "a", "list")
    

    The fixed x param might warrant a thought:

    func(5, *some_list)
    

    ... is equivalent to:

    func(5, "some", "values", "in", "a", "list")
    

    If you don't specify value for x (5 in the example above), then first value of some_list will get passed to func as x param.