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.
You can send any data types of argument to a function (string, number, list, dictionary etc.), and it will be treated as the same data type inside the function.
In Python, you can unpack list , tuple , dict (dictionary) and pass its elements to function as arguments by adding * to list or tuple and ** to dictionary when calling function.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With