【发布时间】:2019-09-04 17:20:18
【问题描述】:
我有以下二维数组:
In [173]: arr
Out[173]:
array([[ 1, 2, 3, 4], # -> -> -> ->
[ 5, 6, 7, 8], # <- <- <- <-
[ 9, 10, 11, 12], # -> -> -> ->
[13, 14, 15, 16], # <- <- <- <-
[17, 18, 19, 20]]) # -> -> -> ->
我想在 snake-like pattern 中遍历数组,从左上角元素开始,到右下角元素结束。
到目前为止,我有这种无趣的解决方法:
In [187]: np.hstack((arr[0], arr[1][::-1], arr[2], arr[3][::-1], arr[4]))
Out[187]:
array([ 1, 2, 3, 4, 8, 7, 6, 5, 9, 10, 11, 12, 16, 15, 14, 13, 17,
18, 19, 20])
我们怎样才能以最小的努力做到这一点,没有循环,也没有太多的硬编码?
【问题讨论】:
标签: python numpy multidimensional-array traversal numpy-ndarray