Ich schrieb eine Erweiterung für Python 3 in C++Python: Prozess numpy Arrays
My Modul von Handhabungsanordnungen wie [1.0, 0.0, 0.0]
fähig ist. Ich möchte auch Unterstützung für numpy Arrays hinzufügen.
I Prozessanordnungen mit dem folgenden Code:
PyObject * MyFunction(PyObject * self, PyObject * args) {
PyObject * list;
if (!PyArg_ParseTuple(args, "O!:MyFunction", PyList_Type, &list)) {
return 0;
}
int count = (int)PyList_Size(list);
for (int i = 0; i < count; ++i) {
double value = PyFloat_AsDouble(PyList_GET_ITEM(list, i));
// ...
}
}
I eine Funktion soll, dass durch diese iterieren kann: np.array([2,3,1,0])
TL; DR:
Numpy Äquivalent für:
PyList_Type
PyList_Size
PyList_GET_ITEM
oderPyList_GetItem
Keine wirkliche Antwort und vielleicht haben Sie gute Gründe haben diese native Möglichkeit zu verwenden c die Schnittstelle ++, aber finden Sie [cython] (http : //cython.org/). Dies macht all das Zeug viel einfacher/netter und wird von einigen sehr coolen Projekten (z. B. scikit-learn) genutzt. – sascha
normalerweise ist es umgekehrt: Sie schreiben eine numpy-Funktion, die auch mit Listen umgehen kann. – Daniel
Ich möchte einfach durch ein numpy Array in C++ –