Question
Asked By – Brian McFarland
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() )
Now we will see solution for issue: How to expand a list to function arguments in Python [duplicate]
Answer
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)
This question is answered By – Daenyth
This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0