Thank for your help. I have try to follow your suggestion but I seem to fail.
Now my C-module (call it C_Core) code is: *********************************************** /* create_list function */ int size=10000000; output=(double *) calloc(size, sizeof(double)); py_output=PyList_New(0); for(i=0; i<size; i++){ tmp=PyFloat_FromDouble(output[i]); PyList_Append(py_output, tmp); Py_DECREF(tmp); // append adds a reference } free(outout); return py_output; ********************************************** with del statement all memory is relased, but I have a malformed list. In python shell: # Call C function an create a list alfa=C_Core.create_list() # check the list len(alfa) 10000000 # OK alfa[1] Segmentation fault On the other size your last option with PyList_SET_ITEM(py_output, tmp) statement is quick, but I have still memory problem. Any idea? Thank a lot marco -- http://mail.python.org/mailman/listinfo/python-list