Python – use list as function parameters

Question:

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
Asked By: Jonathan Livni

||

Answers:

Use an asterisk:

some_func(*params)
Answered By: Mark Byers

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

Answered By: Neil Vass

You want the argument unpacking operator *.

Answered By: btilly

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
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.