如何迭代(键,值)boost::python:di

2024-10-04 05:20:49 发布

您现在位置:Python中文网/ 问答频道 /正文

<>我如何在<强> C++ +>强>中重复我的<强> Boo:python:dict? 我需要在每一个循环中使用。在

我的尝试是:

for (auto x : MyBoostPythonDict.iteritems())
{
    // determine key
    // determine value 
    // ...
}

我有个错误: C3312找不到“boost::python::api::object”类型的可调用“end”函数


Tags: keyapi类型forautoobjectvalue错误
2条回答

您可以简单地循环所有键/值对,如下所示:

using namespace boost::python;

list items = MyBoostPythonDict.items();
for(ssize_t i = 0; i < len(items); ++i) {
    object key = items[i][0];
    object value = items[i][1];
    // ...
}

现在您需要从keyvalue中提取相应的类型。假设两者都是int类型,那么您将使用:

^{pr2}$

直接使用项目列表:

for (auto x : MyBoostPythonDict.items())

我猜iteritems可能是为了这样使用:

^{pr2}$

相关问题 更多 >