numpy.random.randint()在提供size
参数并因此返回一个ndarray时,总是返回一个连续的和对齐的数组吗? / p>
(我想确保通过PyArray_DATA到达的返回值数据可以通过C指针算法安全有效地索引。numpy.random.randint() docs没有明确的保证。)
答案 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
所以以同样的方式访问它应该没问题。