如何将列表元素作为参数传递


问题内容

我想像这样将list的元素作为函数参数传递:

def foo(a,b,c):
    #do something
list=[1,2,3]
foo(list)

我不能使用foo(list [0],list [1],list [2]),因为我不知道list有多少个元素,函数需要多少个参数

查看此代码中的输入函数:http :
//pastebin.com/ajDrFmzr

现在它只传递1个参数(列表),我想将其传递为很少的参数


问题答案:

使用*参数拆包操作

seq = [1, 2, 3]
foo(*seq)

因此,在input功能你可以使用

getattr(self, func)(*args)

PS。不要命名您的变量list,因为它会隐藏相同名称的内置变量。