Reputation: 135
I want to pass elements of list as function arguments like this:
def foo(a, b, c):
# do something
list = [1, 2, 3]
foo(list)
I can't use foo(list[0], list[1], list[2])
, because I don't know how many elements the list has and how many arguments the function takes.
Upvotes: 13
Views: 14211
Reputation: 879651
Use the *
argument unpacking operator:
seq = [1, 2, 3]
foo(*seq)
So in the input
function you could use
getattr(self, func)(*args)
PS. Don't name your variables list
, since it shadows the built-in of the same name.
Upvotes: 19