将任意数量的参数传递给 python 中的函数
Passing an arbitrary number of parameters to a function in python
我有一个 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_poly_system
,我希望能够将它传递给列表 L
,如下所示:
print(solve_poly_system([y**2 - x**3 + 1, y*x], L))
其中 L = [x,y]
.
这可能吗?请注意,尽管我对 solve_poly_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)
我有一个 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_poly_system
,我希望能够将它传递给列表 L
,如下所示:
print(solve_poly_system([y**2 - x**3 + 1, y*x], L))
其中 L = [x,y]
.
这可能吗?请注意,尽管我对 solve_poly_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)