我对如何以相反的顺序引用 numpy 数组的元素有点困惑:例如:
arr = np.array([[1,2,3,4,5],[6,7,8,9,10],[11,12,13,14,15],[16,17,18,19,20]])
print(arr[1:3,:]) #gives me
[[ 6 7 8 9 10]
[11 12 13 14 15]]
但是
print(arr[3:1,:] #gives me
[]
我是否可以从元素 3 开始向后打印直到元素 1? 所以预期输出是
[[11 12 13 14 15]
[ 6 7 8 9 10]]
谢谢!
最佳答案
您可以以相反的方式进行切片,即从尾到头。但请注意,在 python 中进行切片时,必须指定 aList[start:stop:step]
,不包括 stop
。因此,[1:3]
将从第一个元素返回到 3d
元素(不包括 3d
)。
因此,要颠倒顺序,您必须按照 @danielmesejo 的建议执行 arr[2:0:-1]
,前提是如果您执行了 arr[3:0:-1] ]
,在这种情况下,将包含 3rd
元素,并且您将收到 index out of range
错误。请注意,您还必须指定 step
为 -1
才能反转顺序。
关于python - numpy:以相反的顺序引用元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54487183/