我创建了一个通过* args功能获取任意数量变量的函数。现在另一个函数需要使用不同长度的列表来调用这个原始函数,但我似乎无法找到解决方案。作为简化示例:
def print_all(*args):
for x in args:
print(x)
print_all([1,2,3,4,5])
运行此命令,控制台显示:
[1,2,3,4,5]
但我希望它显示:
1
2
3
4
5
有没有办法将像这样的迭代变成适合接受上述* args的函数的输入?
答案 0 :(得分:3)
以下将解决这个问题:
print_all(*[1,2,3,4,5])
使用星号运算符,列表中的每个项目都作为函数的单独参数传递。
答案 1 :(得分:0)
删除函数定义参数部分中存在的*
。这里*
是不必要的。
def print_all(args):
for x in args:
print(x)