質問

If I have a jagged list in python like

jagged = [[1],[2,3]]

how can I declare it as an array using numpy and cython? Is it possible somehow? I know the following syntax, but it won't do, as it gives only a 1D array.

cdef numpy.ndarray[np.float_t] jagged
役に立ちましたか?

解決

Numpy arrays (both in and out of Cython) are typically rectangular. You don't say what you're trying to do with the jagged array, but you might be able to use:

http://docs.scipy.org/doc/numpy/reference/maskedarray.html

or:

http://docs.scipy.org/doc/scipy/reference/sparse.html

As for the 1-dimensional part of your question, you're wanting the ndim param (mode='c' can speed things up if you won't be getting any order='F' arrays):

cdef numpy.ndarray[DTYPE_t, ndim=2, mode='c'] somearray
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top