Я пытаюсь передать трехмерный список целых чисел из Python3 в C, а затем вернуть 2d массив строк обратно в Python из C, используя Python C API.У меня есть вспомогательные функции, работающие так, чтобы procStrings вызывался.Однако мне трудно понять, как передавать / выводить массивы и получать элементы из массива.
- Как получить доступ к входным данным внутри входного трехмерного массива?
- Как мне создать выходной массив?(Если я его Malloc, где это освобождается?)
- Каков механизм возврата выходного 2d массива строк?
===============================================================
static PyObject* my_module_procStrings(PyObject* self, PyObject* args)
{
int rows, cols;
int ii, jj;
PyObject* listObj;
// Get the 2d list and parameters from Python call
if( !PyArg_ParseTuples(args, "O!ii", &PyList_Type, &listObj, &rows, &cols ))
{
return NULL;
}
// Convert the input to a 3d array in C here?
// Process the input array / create the output array
for( ii = 0; ii < rows; ii++ )
{
for( jj = 0; jj < cols; jj++ )
{
// Code for setting new array entry based on entry from input array goes here
}
}
// How is the new 2d string array returned ?
}