【发布时间】:2020-07-25 19:29:01
【问题描述】:
我有一个函数:
cost(X, model, reg = 1e-3, sparse)
而且我需要将这个函数传递给表单下的另一个函数:
f(X, model)
f(X, model, reg = reg)
我正在使用 lambda 来执行此操作:
f = lambda X, model: cost(X, model, sparse = np.random.rand(10,10))
python 抱怨说 lambda 得到了一个意外的参数 reg。我该如何正确地做到这一点?
如果我这样做:
f = lambda X, model, reg: cost(X, model, reg = reg, sparse = np.random.rand(10,10))
那么它在第一种情况下不起作用。
【问题讨论】:
-
在函数调用中,关键字参数必须跟在位置参数之后。所以我相信你的
cost函数应该类似于cost(X, model, reg=1e-3, sparse='somethingelse'或cost(X, model, sparse, req=1e-3)