如何在 Python 中使用字符串作为函数参数并具有可变数量的参数
How to use a string as a function parameter in Python and have variable number of parameters
我有一个名为 filter 的函数,它接受许多格式为 name=value 的参数。我有 2 个列表:名称和值(我们称它们为 x 和 y),我需要能够将它们传递给函数。
当我像下面的例子那样传入字符串时,它给了我一个错误:
x = ['t', 't2']
y = [w, w2]
filter(x[0]=y[0], x[1]=y[1])
语法错误:关键字不能是表达式
我还需要能够传入任意数量的列表,以适应列表的大小。我怎样才能完成这项工作?
使用**kwargs
:
kwargs = {x[0]: y[0], x[1]: y[1]}
filter(**kwargs)
您可能不希望有一个名为 filter 的函数,因为它会覆盖内置的 python 过滤器函数。但除此之外,请阅读有关使用 *args and **kwargs 的内容,听起来正是您所需要的。
我有一个名为 filter 的函数,它接受许多格式为 name=value 的参数。我有 2 个列表:名称和值(我们称它们为 x 和 y),我需要能够将它们传递给函数。
当我像下面的例子那样传入字符串时,它给了我一个错误:
x = ['t', 't2']
y = [w, w2]
filter(x[0]=y[0], x[1]=y[1])
语法错误:关键字不能是表达式
我还需要能够传入任意数量的列表,以适应列表的大小。我怎样才能完成这项工作?
使用**kwargs
:
kwargs = {x[0]: y[0], x[1]: y[1]}
filter(**kwargs)
您可能不希望有一个名为 filter 的函数,因为它会覆盖内置的 python 过滤器函数。但除此之外,请阅读有关使用 *args and **kwargs 的内容,听起来正是您所需要的。