python-numpy数组中的冒号

源码:
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. 单个冒号表示选择某一维的全部
  2. 1中的某一维是哪一维,是对应的那一维? : 不,恰恰相反。
    参数的序号表示选取数组的第几个方括号, 比如上式中的-1::-1是第一个参数, 表示选取原数组中
    第一个方括号, 及数组的最后一维(第三维)
  3. Python序列切片地址可以写为[开始:结束:步长],其中的开始和结束可以省略,于是xx::xx
    表示第一个为切片开始位置, 第二个为步长。第一个-1表示倒数第一个位置,第二个-1表示方向反转,长度为1的步长。

你可能感兴趣的:(python-numpy数组中的冒号)