我正在将一个(大部分)浮点列表传递给 boost python 中的一个模块,一些元素是 None 对象。在 C++ 代码中,我像这样提取浮点数:
for(i=0;i<boost::python::len(list) - window_len + 1;i++) {
double value = boost::python::extract<double>(list[i]);
}
当 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]);
}
和
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]);
}
因为显然 boost::python::api::object() 评估为无。但是,这些都不起作用。如何在 python None 对象中检查 list[i] ?