有没有比这更详细的替代方案:
xrange(array.shape[0])中x的
:
对于x范围内的y(array.shape[1]):
做些什么(x,y)
我想到了这个:
itertools.product(map(xrange,array.shape))中x,y的
:
做些什么(x,y)
这节省了一个缩进,但仍然很难看
我希望得到类似于以下伪代码的东西:
数组中x,y的
。索引:
做些什么(x,y)
有这样的事吗
我想你是在找利率
>&燃气轮机&燃气轮机;a=numpy.array([[1,2],[3,4],[5,6])
&燃气轮机&燃气轮机&燃气轮机;对于(x,y),单位为numpy.ndenumerate(a)的值:
... 打印x,y
...
0 0
0 1
1 0
1 1
2 0
2 1
关于表现。它比列表理解慢一点
X=np.零((100100100))
%时间列表([((i,j,k),X[i,j,k]),用于范围内的i(X.shape[0]),用于范围内的j(X.shape[1]),用于范围内的k(X.shape[2]))
1个循环,最佳3:376毫秒/循环
%时间列表(np.ndenumerate(X))
1个回路,最佳3个:每个回路570毫秒
如果您担心性能问题,您可以通过查看ndenumerate的实现进一步优化性能,该实现有两个功能:转换为数组和循环。如果知道自己有一个数组,可以调用平面迭代器的.coords属性
a=X.flat
%timeit列表([(a.coords,x)表示a.flat中的x])
1个回路,最好为3:305 ms/回路