我正在将(大多数)浮动列表传递给boost python中的模块,某些元素是None对象。在C ++代码中,我像这样提取浮点数:
for(i=0;i<boost::python::len(list) - window_len + 1;i++) {
double value = boost::python::extract<double>(list[i]);
}
Run Code Online (Sandbox Code Playgroud)
当list [i]指向python None对象时,这显然是有问题的。因此,我写了这样的东西:
for(i=0;i<boost::python::len(list) - window_len + 1;i++) {
if(list[i] == NULL) continue;
double value = boost::python::extract<double>(list[i]);
}
Run Code Online (Sandbox Code Playgroud)
和
for(i=0;i<boost::python::len(list) - window_len + 1;i++) {
if(list[i] == boost::python::api::object()) continue;
double value = boost::python::extract<double>(list[i]);
}
Run Code Online (Sandbox Code Playgroud)
因为显然boost :: python :: api :: object()的计算结果为无。但是,这些都不起作用。如何检查python None对象中的list [i]?