Ich habe ein Array von Objekten wie diese beizen:Python, cPickle, Beizen Lambda-Funktionen
import cPickle as pickle
from numpy import sin, cos, array
tmp = lambda x: sin(x)+cos(x)
test = array([[tmp,tmp],[tmp,tmp]],dtype=object)
pickle.dump(test, open('test.lambda','w'))
und es gibt die folgenden Fehler:
TypeError: can't pickle function objects
Gibt es eine Möglichkeit, um das?
Scheint wie eine seltsame Sache zu tun. Was ist der Anwendungsfall? – Aya
@Aya Lambdify in SymPy macht es sehr bequem, Lambda-Funktionen zu erstellen. Und ich möchte sie mit Cython auswerten. Sie können [auf diese andere Frage für weitere Informationen verweisen] (http://stackoverflow.com/questions/16295140/numerical-integration-over-a-matrix-of-functions-sympy-and-scipy) –
Nun, ich don Ich weiß nicht viel über Cython, aber Martijns Lösung wird nur funktionieren, wenn es für Cython möglich ist, die Python-Datei zu importieren, in der die Funktion 'tmp (x)' definiert wurde. – Aya