在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);

这样编译就可以了,但是,当我从Python程序中调用它时,出现了一个错误:

SystemError: bad format char passed to Py_BuildValue

如何正确完成?

编辑:
以下作品

PyObject *rslt = PyTuple_New(3);
PyTuple_SetItem(rslt, 0, V);
PyTuple_SetItem(rslt, 1, E);
PyTuple_SetItem(rslt, 2, F);
return rslt;

但是,难道没有更短的方法吗?

解决方法:

我认为它需要大写的O? “ OOO”,而不是“ ooo”.

上一篇:我可以在没有嵌套循环的情况下基于元组的元素比较两组元组吗?


下一篇:1046 Shortest Distance (20 分)