私は持っている
入力としての X --- これは dtype オブジェクトです これは次の構造です x=[[1,2,3,4...n 要素],[1 要素],[1,2,...m 要素], [1要素]]
入力を模倣するには...
>>> from numpy import *
>>> x=array([array([1,2,3,4,5]),array([1]),array([1,2,3,4,5,6,7,8]),array([1])],dtype=object)
>>> x
array([[1 2 3 4 5], [1], [1 2 3 4 5 6 7 8], [1]], dtype=object)
X を引数として Python C 拡張機能に PyArray_Object として渡します
static PyObject* samp(PyObject *self, PyObject *args) {
PyArrayObject *array,*p1,*p2;
int n,j;
if (!PyArg_ParseTuple(args, "O!",&PyArray_Type, &array))
return NULL;
n=array->nd;
if(n!=1 || array->descr->type_num!=PyArray_OBJECT) {
PyErr_SetString(PyExc_ValueError, "array must be one-dimensional and of Object type");
return NULL;
}
j=array->dimensions[0];
/* ...... */
}
これを 4 つのオブジェクトに分割する方法がわからないため、ここで立ち往生しています。