在NumPy 1.9和更高版本中,通常不会对此进行很好的定义。
当前实现使用单独的迭代器同时遍历所有(广播的)花式索引(和分配数组),并且这些迭代器均使用C阶。换句话说,目前可以。由于您可能想更准确地了解它。如果
mapping.c在处理这些问题的NumPy中进行比较,您会看到它使用
PyArray_ITER_NEXT,该文档记录为C顺序。
为了将来,我会以不同的方式描绘这幅画。我认为使用更新的迭代器将所有索引+赋值数组一起迭代将是很好的。如果这样做,则可以保留订单以供迭代器决定最快的方式。如果您对迭代器保持开放状态,很难说会发生什么,但是您不能确定您的示例是否有效(可能仍然是一维情况,但是…)。
因此,据我所知,它目前可以使用,但尚未记录(据我所知),因此,如果您确实认为应该确保这样做,则需要游说并最好编写一些测试以确保它可以得到保证。因为至少有人倾向于说:如果它使事情变得更快,就没有理由确保C阶,但是当然也许有一个很好的理由隐藏在某处…
真正的问题是:您为什么仍要这么做?;)



