python - numpy:以相反的顺序引用元素

标签 python numpy

我对如何以相反的顺序引用 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/

相关文章:

python - 关于 NumPy 数组切片何时是引用以及何时是副本的混淆

python - 忽略 mercurial hook 中的某些 mercurial 命令

python - 区分覆盖和重载

Python - Fabric - 获取文件

python - numpy - 排列 : Why does following example not end at 10

python - 如何测试装饰器?

python - 图像覆盖某些像素

python - 获取每个二维数组的累积计数

python - 如何在 OpenCV 3.0 或更高版本中使用estimateRigidTransform,还有其他选择吗?

python - "virtualenv"中的库比系统库大得多