numpy.ndarray
cimport numpy
import numpy
以下代码适用于 努比·恩达雷 cdef numpy.ndarray array(int start, int end): . 根据注释,它仍然有很多Python开销(不包括 range(start, end) C++向量的初始化。
努比·恩达雷
cdef numpy.ndarray array(int start, int end):
range(start, end)
%%cython -a # distutils: language = c++ import numpy from libcpp.vector cimport vector cdef numpy.ndarray array(int start, int end): cdef vector[int] vect = range(start, end) return numpy.array(vect) print(array(1,15))
NumPy数组是Python对象。如果希望在编译级别使用它们,则应使用 memoryviews 是由赛顿支持的。然后您可以要求 np.asarray(cython_memoryview_variable) 去Python。
np.asarray(cython_memoryview_variable)