Cython - Iterate Through Map
I was wondering if this was possible to iterate through a map directly in Cython code, ie, in the .pyx. Here is my example: import cython cimport cython from licpp.map import map a
Solution 1:
The map iterator doesn't have elements first
and second
. Instead it has a operator*
which returns a pair
reference. In C++ you can use it->first
to do this in one go, but that syntax doesn't work in Cython (and it isn't intelligent enough to decide to use ->
instead of .
itself in this case).
Instead you use cython.operator.dereference
:
from cython.operator cimport dereference
# ...
print(dereference(it).first)
Similarly, it++
can be done with cython.operator.postincrement
Post a Comment for "Cython - Iterate Through Map"