• 列表、数组切片X[:,0]、X[:,1]、X[m:n,:]、X[:,m:n]、X[:,:,0]、X[:,:,1]


    python中符合序列的有序序列都支持切片,比如列表、字符串、元组
    主要介绍列表和元组

    1.列表切片
    格式: 【start: end: step】
    start:开始索引;end:结束索引;step:步长(步长为正时,从左到右索引,正序取值;步长为负时,从右到左索引,倒序取值)
    特别注意end表示的索引为开区间,不会取到该序号对应的值

    1.1 正序索引:步长step>0,索引的时候从左往右数

    a = [1,2,3,4,5,6]
     
    a[:3:1]   #默认索引start从0开始,[0,3)左闭右开
    >>>[1,2,3]
     
    a[:3]    #默认步长为 1 
    >>>[1,2,3]
     
    a[-4:-2:1]  # 出现负号,末尾序号为-1,[-4, -2)就是3和4
    >>>[3,4]
     
    a[-4:4:1]  
    >>>[3, 4]
    

    1.2 倒序索引:步长step<0,索引的时候从右往左数

    a = [1,2,3,4,5,6]
     
    a[:-4:-1]
    >>>[6, 5, 4]  #默认从-1开始,[-1, -4),一共三个数
     
    a[3:0:-1]
    >>>[4,3,2]   #倒序索引
     
     
    a[-2:2:-1]
    >>>[5,4]
    

    2.数组切片(对于大列表,可以使用numpy.array(list)转换为数组)

    2.1二维数组 x[行, 列]
    对于X[:,0] ,取二维数组中第一列所有行的数据
    对于X[:,1] ,取二维数组中第二列所有行的数据

    对于X[0,:],取二维数组中第一行所有列的数据
    对于X[1,:],取二维数组中第二行所有列的数据

    对于X[:,m:n] ,取二维数组中第m列到第n-1列所有行的数据
    对于X[m:n,:],取二维数组中第m行到第n-1行所有列的数据

    2.3三维数组X[页数, 行, 列]
    X[:,:,0]、X[:,:,1]一般用在三维数组

    大家可以把三维数组想象成一本书,第一维是每一页,行和列是每一页的行和列

    X[0, 0, 0] 表示第一页第一行第一列的数据
    X[:, 0, 0] 表示所有页第一行第一列的数据
    X[0] 选取第一页的所有数据
    X[:,:,0], 表示所有页的第一列的所有行数据
    X[:,:,1], 表示所有页的第二列的所有行数据

    X[:,:,m:n], 表示第m列到第n-1列的所有页数中所有行的数据
    X[:,m:,n:], 表示所有页第m行和第n列之后的数据
    X[:,m:,n:y], 表示所有页第m行之后,从第n列到第y-1行的数据

    最后加粗的部分大家可以自行验证一下,比较不好理解,切片很灵活,我也只能列举出一些,遇到不会的使用交互式命令敲一敲代码,亲自跑跑,应该差不多知道了。

    下面是一个现成的三维数组:

    array([[[ 0,  1,  2,  3],
            [ 4,  5,  6,  7],
            [ 8,  9, 10, 11]],
     
           [[12, 13, 14, 15],
            [16, 17, 18, 19],
            [20, 21, 22, 23]]])
    

    我使用array数组进行讲解,mat矩阵同样适合;
    注意一点,在array数组中,可以使用array[1, 2],也可以使用array[1][2],但是在mat矩阵中,只可以使用mat[1, 2],如果使用[1][2]是会报错的

  • 相关阅读:
    cookie
    iOS本地推送
    2020-06-17:红锁的设计思想?
    2020-06-16:Redis hgetall时间复杂度?
    2020-06-15:Redis分布式锁怎么解锁?
    2020-06-14:Redis怎么实现分布式锁?
    2020-06-13:Redis底层数据结构?
    2020-06-12:推箱子自动求解。
    2020-06-11:Redis支持的数据类型?
    2020-06-10:给定一个无序数组,里面数都是成双数的,只有一个数是成单数的,求这个数? 来自
  • 原文地址:https://www.cnblogs.com/ycycn/p/13872043.html
Copyright © 2020-2023  润新知