Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 对于接受任意数量参数的函数,是否可以使用列表或其他iterable作为输入?_Python_Python 3.x - Fatal编程技术网

Python 对于接受任意数量参数的函数,是否可以使用列表或其他iterable作为输入?

Python 对于接受任意数量参数的函数,是否可以使用列表或其他iterable作为输入?,python,python-3.x,Python,Python 3.x,我创建了一个函数,它通过*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 有没有一种方法可以将这样的iterable转换为接受上述*args的函数的正确

我创建了一个函数,它通过*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

有没有一种方法可以将这样的iterable转换为接受上述*args的函数的正确输入?

下面的方法可以做到这一点:

print_all(*[1,2,3,4,5])

使用星号运算符,列表中的每一项都像是作为单独的参数传递给函数。

以下操作将完成此操作:

print_all(*[1,2,3,4,5])

使用星号运算符,列表中的每一项都像是作为单独的参数传递给函数。

以下操作将完成此操作:

print_all(*[1,2,3,4,5])

使用星号运算符,列表中的每一项都像是作为单独的参数传递给函数。

以下操作将完成此操作:

print_all(*[1,2,3,4,5])

使用星形运算符,列表中的每一项都像是作为单独的参数传递给函数。

删除函数定义的参数部分中存在的
*
。这里不需要
*

def print_all(args):
    for x in args:
        print(x)

删除函数定义的参数部分中存在的
*
。这里不需要
*

def print_all(args):
    for x in args:
        print(x)

删除函数定义的参数部分中存在的
*
。这里不需要
*

def print_all(args):
    for x in args:
        print(x)

删除函数定义的参数部分中存在的
*
。这里不需要
*

def print_all(args):
    for x in args:
        print(x)

哇,成功了!谢谢哇,成功了!谢谢哇,成功了!谢谢哇,成功了!谢谢对于我的示例,这是正确的,但我的实际函数更复杂,我需要使用*。谢谢你的回答。我的例子是这样的,但我的实际函数更复杂,我需要使用*。谢谢你的回答。我的例子是这样的,但我的实际函数更复杂,我需要使用*。谢谢你的回答。我的例子是这样的,但我的实际函数更复杂,我需要使用*。谢谢你的回答。