Passing a list of parameters into a Python function

21,733

Solution 1

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.

Solution 2

Pass the values as comma separated values

>>> def func(x, *p):           # p is stored as tuple
...     print "x =",x
...     for i in p:
...         print i
...     return p
... 
>>> print func(1,2,3,4)        # x value 1, p takes the rest
x = 1
2
3
4
(2,3,4)                        # returns p as a tuple

You can learn more by reading the docs

Share:
21,733
knw500
Author by

knw500

Updated on April 02, 2020

Comments

  • knw500
    knw500 about 4 years

    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):
    return ...
    

    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? Thanks