dzh*_*lil 3 python tuples return python-c-api
我正在编写一个将返回多个Python对象的本机函数
PyObject *V = PyList_New(0);
PyObject *E = PyList_New(0);
PyObject *F = PyList_New(0);
return Py_BuildValue("ooo", V, E, F);
Run Code Online (Sandbox Code Playgroud)
这编译很好,但是,当我从Python程序调用它时,我收到一个错误:
SystemError:传递给Py_BuildValue的格式错误
怎么能正确完成?
编辑:以下工作
PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;
Run Code Online (Sandbox Code Playgroud)
但是,有没有更短的方法来做到这一点?