我想创建一个使用两个可变长度参数的函数。例如:
def my_func(*args1, *args2):
for i in args1:
do stuff
for j in args2:
do stuff
Python中有没有办法使用多个*args
?在此先感谢您的帮助。
答案 0 :(得分:6)
不,因为没有办法决定是否
my_func(a, b)
装置
args = [], args2 = [a,b] # or ..
args = [a], args2 = [b] # or ..
args = [a,b], args2 = []
相反,只需让函数将两个列表作为参数。
答案 1 :(得分:1)
您应该使用列表。这样,很明显哪个项目在哪个参数中出现:
def my_func(args1, args2):
for a in args1:
print a
for b in args2:
print b
my_func([1, 2, 3], [4, 5, 6])
答案 2 :(得分:0)
您可以为每个参数使用数组(或数组的任何Python名称)。否则,Python无法知道在哪里拆分每组变量长度参数。
答案 3 :(得分:0)
你想怎么称呼这个功能?为什么不使用两个dicts数组?
答案 4 :(得分:0)
不,这甚至没有意义。什么会决定第一个列表中的内容以及第二个列表中的内容?您也可以传递关键字参数(如果您还不知道):
def func(*args **kwargs):
pass
你想要完成的是什么?