-4
def parameterSchaetzung(kontextfreq,a,p,f1):
parameter = defaultdict(lambda: defaultdict(int))
for (s,w) in kontextfreq:
parameter[s][w] = (kontextfreq[(s,w)] + a[s] * p[w])/(f1[s] + a[s])
#print((kontextfreq[(s,w)] + a[s] * p[w])/(f1[s] + a[s]))
return parameter
У меня есть ошибка, когда я пытаюсь записать результат функции в мариновании. Я думаю, проблема связана с лямбдой. Как я могу это решить?Как избежать лямбда в Python
>>> parameter = defaultdict(lambda: defaultdict(int))
>>> pickle.dump(parameter,open("foo","wb"))
Traceback (most recent call last):
File "<string>", line 301, in runcode
File "<interactive input>", line 1, in <module>
_pickle.PicklingError: Can't pickle <function <lambda> at 0x00000000032DA620>: attribute lookup <lambda> on __main__ failed
_What_ ошибка ... – RemcoGerlich
Вам нужно воспроизвести ваш отступы точно при публикации кода Python. В противном случае вы вводите новые проблемы в код, который вы просите людей прочитать. – khelwood
Также предоставьте достаточно кода, чтобы мы могли попробовать ваш код для себя ([MCVE] (http://stackoverflow.com/help/mcve)). Может быть, образец вызова метода и вызов рассола в этом случае? – wonderb0lt