Python 将值数组扩展到函数调用中的参数
我得到一个值数组,我想将它们发送到一个具有相同参数计数的预定义函数 天真的做法是:Python 将值数组扩展到函数调用中的参数,python,Python,我得到一个值数组,我想将它们发送到一个具有相同参数计数的预定义函数 天真的做法是: values = [1,2,3,4] # getting it from outside if len(values) == 1: func(values[0]) elif len(values) == 2: func(values[0], values[1]) . . . 还有更优雅的方式吗?您可以使用 输出将是 1 1 2 或者通过func(值) 你可以用 输出将是 1 1
values = [1,2,3,4] # getting it from outside
if len(values) == 1:
func(values[0])
elif len(values) == 2:
func(values[0], values[1])
.
.
.
还有更优雅的方式吗?您可以使用
输出将是
1
1
2
或者通过func(值)
你可以用
输出将是
1
1
2
或者通过func(值)
func(values)
?func(values)
?当您可以只执行func(values)
时不一定。我的问题是函数可以是:def func(a):或def func(a,b):等等,所以我调用func我不必在数组大小上执行if-else,只需使用数组调用func,它就会知道如何放置数组[0]在一个变量和一个数组[1]中,在b变量中,你会自动使用变量参数,func(a)
tillfunc(a,b,c,d)
?你需要某种条件来确定传递了多少个参数,或者你需要一个中间函数,它可以为你做到这一点@asaf你不能真正避免这样的情况,参数的数量是可变的,当你只需要执行func(values)
。我的问题是这个函数可以是:def func(a):或def func(a,b):等等,所以我调用func,我不必对数组大小执行if-else,只要用数组调用func,它就会知道如何将数组[0]放入var,将数组[1]放入bvar自动执行。如果有变量参数,func(a)
直到func(a,b,c,d)
?你需要某种条件来确定传递了多少个参数,或者你需要一个中间函数,它可以为你做到这一点@asaf你不能真正避免这样的情况,因为参数的数量是可变的
def func(values):
for value in values:
print(value)
values = [1]
func(values)
values = [1, 2]
func(values)