127

How can I use a Python list (e.g. params = ['a',3.4,None]) as parameters to a function, e.g.:

def some_func(a_char,a_float,a_something):
   # do stuff
1

4 Answers 4

186

You can do this using the splat operator:

some_func(*params)

This causes the function to receive each list item as a separate parameter. There's a description here: http://docs.python.org/tutorial/controlflow.html#unpacking-argument-lists

Sign up to request clarification or add additional context in comments.

Comments

72

This has already been answered perfectly, but since I just came to this page and did not understand immediately I am just going to add a simple but complete example.

def some_func(a_char, a_float, a_something):
    print a_char

params = ['a', 3.4, None]
some_func(*params)

>> a

Comments

17

Use an asterisk:

some_func(*params)

1 Comment

Along those lines, you can also use a dictionary: def f(a, b, c): #do stuff. mydict = {'a':1, 'b':2, 'c':3} f(**mydict)
12

You want the argument unpacking operator *.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.