关于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]]])
posted @ 2020-11-13 20:14  笨喵敲代码  阅读(1789)  评论(0)    收藏  举报