源码:
import numpy as np
a = np.array([[[1,2,3],[6,7,8], [3,4,5],[8,9,10]], [[4,2,3],[6,9,8], [3,2,5],[4,9,10]]])
print(a)
print(‘翻转最后一维’)
print(a[-1::-1, :, :])
print(‘翻转第一维’)
print(a[:, :, -1::-1])
结果:
[[[ 1 2 3]
[ 6 7 8]
[ 3 4 5]
[ 8 9 10]]
[[ 4 2 3]
[ 6 9 8]
[ 3 2 5]
[ 4 9 10]]]
翻转最后一维
[[[ 4 2 3]
[ 6 9 8]
[ 3 2 5]
[ 4 9 10]]
[[ 1 2 3]
[ 6 7 8]
[ 3 4 5]
[ 8 9 10]]]
翻转第一维
[[[ 3 2 1]
[ 8 7 6]
[ 5 4 3]
[10 9 8]]
[[ 3 2 4]
[ 8 9 6]
[ 5 2 3]
[10 9 4]]]
get:
- 单个冒号表示选择某一维的全部
- 1中的某一维是哪一维,是对应的那一维? : 不,恰恰相反。
参数的序号表示选取数组的第几个方括号, 比如上式中的-1::-1是第一个参数, 表示选取原数组中
第一个方括号, 及数组的最后一维(第三维) - Python序列切片地址可以写为[开始:结束:步长],其中的开始和结束可以省略,于是xx::xx
表示第一个为切片开始位置, 第二个为步长。第一个-1表示倒数第一个位置,第二个-1表示方向反转,长度为1的步长。