我有一个C++扩展,它使用pybind11与Python捆绑在一起。扩展返回一个嵌套的Python对象:
#include <pybind11/pybind11.h>
namespace py = pybind11;
py::dict cpp_ext(void) {
// Variables
py::dict res;
// Result
res["circle"]["x0"] = 0;
res["circle"]["y0"] = 0;
res["circle"]["r"] = 1;
return res;
};它编译,但给出了错误:
KeyError: ('circle',)如何构造嵌套的py::dict对象?
发布于 2018-11-24 01:04:48
您可以为嵌套实例创建单独的dict,然后将其分配给外部实例:
py::dict cpp_ext(void) {
// Variables
py::dict res;
py::dict circle;
// Result
circle["x0"] = 0;
circle["y0"] = 0;
circle["r"] = 1;
res["circle"] = circle;
return res;
};https://stackoverflow.com/questions/53453352
复制相似问题