关于python中的[::-1],[:,:,::-1]的反转理解
其实就是单纯的关于反转,我们只需要记住每一个列表的中间有两个冒号:
即[a: b:c],意思是从a到b,间隔是c,因为经常省略c,所以经常看到[a:b]。
一、在一维数据中的反转
import numpy as np
testnum = np.arange(1,10)
testnum
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
testnum[8:1:-1]
array([9, 8, 7, 6, 5, 4, 3])
二、在多维数据中的反转。此时就需要分辨,反转的是行、列、还是维。
testnum1 = np.random.randint(1,10,size=(4,5,3)) testnum1
array([[[4, 8, 3],
[8, 4, 3],
[7, 7, 2],
[9, 6, 9],
[7, 5, 3]],
[[2, 1, 3],
[6, 4, 7],
[4, 5, 9],
[8, 6, 4],
[5, 7, 5]],
[[8, 7, 5],
[5, 3, 1],
[2, 9, 2],
[6, 5, 3],
[2, 9, 8]],
[[3, 9, 8],
[8, 7, 7],
[8, 3, 4],
[9, 8, 9],
[5, 1, 8]]])
testnum1[:,:,::-1]
像上面这个代码就是反转列
array([[[3, 8, 4],
[3, 4, 8],
[2, 7, 7],
[9, 6, 9],
[3, 5, 7]],
[[3, 1, 2],
[7, 4, 6],
[9, 5, 4],
[4, 6, 8],
[5, 7, 5]],
[[5, 7, 8],
[1, 3, 5],
[2, 9, 2],
[3, 5, 6],
[8, 9, 2]],
[[8, 9, 3],
[7, 7, 8],
[4, 3, 8],
[9, 8, 9],
[8, 1, 5]]])
比如下面这个就是反转维数
testnum1[::-1,:,:]
array([[[3, 9, 8],
[8, 7, 7],
[8, 3, 4],
[9, 8, 9],
[5, 1, 8]],
[[8, 7, 5],
[5, 3, 1],
[2, 9, 2],
[6, 5, 3],
[2, 9, 8]],
[[2, 1, 3],
[6, 4, 7],
[4, 5, 9],
[8, 6, 4],
[5, 7, 5]],
[[4, 8, 3],
[8, 4, 3],
[7, 7, 2],
[9, 6, 9],
[7, 5, 3]]])
浙公网安备 33010602011771号