Python 3.x 在python中向函数传递任意数量的参数
我有一个python函数,它接受任意数量的参数作为输入。我相信这是通过Python 3.x 在python中向函数传递任意数量的参数,python-3.x,args,Python 3.x,Args,我有一个python函数,它接受任意数量的参数作为输入。我相信这是通过*args实现的(感谢@Anurag Wagh指出这一点)。我希望能够向它传递一个值列表。以下是我的具体代码: from sympy import solve_poly_system, symbols x,y,z = symbols('x y z') print(solve_poly_system([y**2 - x**3 + 1, y*x], x, y)) 我不想将x和y传递给solve\u poly\u system,而
*args
实现的(感谢@Anurag Wagh指出这一点)。我希望能够向它传递一个值列表。以下是我的具体代码:
from sympy import solve_poly_system, symbols
x,y,z = symbols('x y z')
print(solve_poly_system([y**2 - x**3 + 1, y*x], x, y))
我不想将x
和y
传递给solve\u poly\u system
,而是希望能够将列表L
传递给它,如下所示:
print(solve_poly_system([y**2 - x**3 + 1, y*x], L))
其中L=[x,y]
这可能吗?请注意,尽管我对solve\u poly\u system
函数的具体情况感兴趣,但我更感兴趣的是将列表传递给python中接受任意数量输入的任何函数
换句话说,我想知道如何将值列表传递给以
*args
为输入的函数。我特别感兴趣的是,列表的长度在运行时之前是未知的,并且在运行时可能会发生变化。根据您的问题,看起来您知道如何在函数定义中使用*args
,并且正在寻找一种方法,将列表的所有元素传递给该函数,而不管列表的长度如何。如果这是你的问题,那么以下是你的答案:
def function(x, *args):
print(x)
print(args)
x = 10
l = [5, 6, 7, 8]
function(x, *l)
输出:
10
(5, 6, 7, 8)
我想您正在寻找
*args
类型函数。谢谢这就是我所说的,但是你链接到的帖子并没有回答我的问题。我将很快编辑我的问题以反映这一点。