numpy.random.randint()是否总是返回一个连续且对齐的ndarray?

时间:2015-06-06 22:12:21

标签: python arrays numpy random

numpy.random.randint()在提供size参数并因此返回一个ndarray时,总是返回一个连续的对齐的数组吗? / p>

(我想确保通过PyArray_DATA到达的返回值数据可以通过C指针算法安全有效地索引。numpy.random.randint() docs没有明确的保证。)

1 个答案:

答案 0 :(得分:2)

current source code中,对ndarray的原始C-indexing访问正是它在返回之前的填充方式:

        array = <ndarray>np.empty(size, int)
        length = PyArray_SIZE(array)
        array_data = <long *>PyArray_DATA(array)
        with self.lock, nogil:
            for i from 0 <= i < length:
                rv = lo + <long>rk_interval(diff, self. internal_state)
                array_data[i] = rv
        return array

所以以同样的方式访问它应该没问题。