Python Cython获得C++;对象列表 我有Cython Fo.Pyx文件和相应的C++ >代码> Fo.H./Cux>文件。 在foo.h中,我有一个名为Foos的foo对象列表,定义如下: std::list<Foo> Foos;

Python Cython获得C++;对象列表 我有Cython Fo.Pyx文件和相应的C++ >代码> Fo.H./Cux>文件。 在foo.h中,我有一个名为Foos的foo对象列表,定义如下: std::list<Foo> Foos;,python,c++,cython,Python,C++,Cython,我面临的问题是我想事先知道Foos有多大。在常规python中,我只需调用len(foos),但是在这里尝试len(engine.foos)或len(it)只会导致Cython抛出一个无法转换为python对象的错误 在迭代之前,有没有办法获得C++对象列表的长度(注意,我不需要一个解决while循环内迭代次数的解决方案)。 你可以简单地使用引擎。 如果您想知道“Foos有多大”,那么只需使用size()函数:Foos.size() it = engine.Foos.begin() while

我面临的问题是我想事先知道
Foos
有多大。在常规python中,我只需调用
len(foos)
,但是在这里尝试
len(engine.foos)
len(it)
只会导致Cython抛出一个无法转换为python对象的错误


在迭代之前,有没有办法获得C++对象列表的长度(注意,我不需要一个解决while循环内迭代次数的解决方案)。

你可以简单地使用<代码>引擎。

如果您想知道“Foos有多大”,那么只需使用size()函数:Foos.size()
it = engine.Foos.begin()
while it != engine.Foos.end():
    # Do stuff