【发布时间】:2023-03-26 02:01:01
【问题描述】:
我想使用 numpy.ndarray 迭代器的 flatiter.coords 属性,但我遇到了奇怪的行为。考虑一个简单的程序
xflat = np.zeros( (2, 3) ).flat
while True:
try:
print( xflat.coords )
xflat.next()
except StopIteration:
break
此代码产生以下输出:
(0, 0)
(0, 1)
(0, 2)
(1, 0)
(1, 1)
(1, 2)
(2, 0)
最后一个坐标无效 - 没有 (2,0) 坐标。这意味着我不能在没有进一步检查的情况下使用 flatiter.coords 属性,因为它会抛出一个无效的索引。
为什么会这样?是故意的吗?
【问题讨论】:
标签: numpy multidimensional-array iterator