小编NCA*_*gie的帖子

在Boost python中评估None对象

我正在将(大多数)浮动列表传递给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]?

python boost boost-python

5
推荐指数
1
解决办法
1871
查看次数

标签 统计

boost ×1

boost-python ×1

python ×1