我有一个名为filter的函数,该函数接受name = value格式的许多参数。我有2个列表:名称和值(我们分别命名为x和y),我需要能够将它们传递给函数。
当我像下面的示例中那样仅传递字符串时,它给我一个错误:
class DefaultController extends AbstractController
{
public function index(SerializerInterface $serializer)
{
// keep reading for usage examples
}
}
SyntaxError:关键字不能是表达式
对于列表的大小,我还需要能够任意传递。我该如何进行这项工作?
答案 0 :(得分:1)
使用**kwargs
:
kwargs = {x[0]: y[0], x[1]: y[1]}
filter(**kwargs)
答案 1 :(得分:0)
您可能不想拥有一个名为filter的函数,因为它将覆盖内置的python filter函数。但是,否则使用*args and **kwargs进行阅读,听起来就像您所需要的。