在Matlab中,矩阵的缓冲区在列中是连续的。那么numpy的Python数组呢?哪一个在numpy.empty((n,1))
和numpy.empty((1,n))
答案 0 :(得分:1)
在numpy
中,您可以选择Fortran-contiguous
(沿着列,就像在Matlab中)和C-contiguous
(沿着行,这是numpy中的默认值)顺序,{{3 ,所以你有更多的灵活性。
正如@ user2357112已经说过,对于1xN或Nx1阵列而言并不重要,但对于MXN阵列来说,它确实很重要,你应该知道这一点。
答案 1 :(得分:0)
他们做不同的事情。一个是Nx1阵列;另一个制作1xN阵列。两者都不“更好”。 (事实上,即使您指定了列主要存储,两个阵列的内存布局也是相同的。)
要回答有关存储布局的问题,numpy默认为行主要布局,a.k.a。C-contiguous。您可以在docs中清楚地看到这一点。