["python","arguments"]
How to expand a list to function arguments in Python

Is there syntax that allows you to expand a list into the arguments of a function call? Example: # Trivial example function, not meant to do anything useful. def foo(x,y,z): return "%d, %d, %d" %(x,y,z) # List of values that I want to pass into foo. values = [1,2,3] # I want to do something like this, and get the result "1, 2, 3": foo( values.howDoYouExpandMe() )
It exists, but it's hard to search for. I think most people call it the "splat" operator. It's in the documentation as "Unpacking argument lists". You'd use it like this for positional arguments: values = [1, 2] foo(*values) There's also one for dictionaries to call with named arguments: d = {'a': 1, 'b': 2} def foo(a, b): pass foo(**d)