• python数组冒号取值操作


    1.冒号的用法

    1.1 一个冒号

    a[i:j]

    这里的i指起始位置,默认为0;j是终止位置,默认为len(a),在取出数组中的值时就会从数组下标i(包括)一直取到下标j(不包括j)

    在一个冒号的情况下若出现负数则代表倒数某个位置

    a[i:-j]

    这里就是从下标i取到倒数第j个下标之前(不包括倒数第j个下标位置的元素)

    1.2 两个冒号

    a[i:j:h]

    这里的i,j还是起始位置和终止位置,h是步长,默认为1

    若i/j位置上出现负数依然倒数第i/j个下标的位置,h若为负数则是逆序输出,这时要求起始位置下标大于终止位置

    在两个冒号的情况下若h为正数,则i默认为0,j默认为len(a);

    若h为负数,则i默认为-1(即最后一个位置),j默认为-len(a)-1(下标0的前一个位置,这样就能输出到下标0了)

    2.举例说明

    ok,接下来就对冒号更多灵活的用法举例说明

    a='python'
    b=a[:]
    print(b)
    
    >>python #一个冒号代表默认全选
    a='python'
    b=a[1:4:]
    print(b)
    
    >>yth #冒号后没有写明故代表默认步长为1
    a='python'
    b=a[:-1]
    print(b)
    
    >>pytho #-1代表倒数第一个位置,因为:前面的初始位置没有指定,默认为0,就从下标0一直取到最后一个位置之前
    a='python'
    c=a[1:-2] 
    print(c)
    
    >>yth #-2代表倒数第二个位置,即从下标1取到倒数第二个位置之前
    a='python'
    b=a[::-1]
    print(b) 
    
    >>nohtyp #前两个冒号和上面一致,就是确定起始位置和终止位置
    #第三个参数-1是指步长为-1,也就是逆序输出
    #这里a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素
    #所以[::-1]经常用来对一个数组进行逆序输出
    a='python'
    b=a[1:4:-1]
    print(b) 
    
    >>
    #这里什么也没有输出,因为按照给定的步长是无法从下标1走到4的,所以输出为空但不会报错
    a='python'
    b=a[-2:-7:-2]
    print(b)
    
    >>otp #这里起始位置是-2,终点是-7(不包括,所以输出到-6位置),步长为-2
    a = np.array([[1,2,3],[4,5,6],[7,8,9],[11,12,13]])
    print(a[::-1,2:0:-1])
    
    >>[[13 12]
     [ 9  8]
     [ 6  5]
     [ 3  2]]
    #对于多维数组也是一样的,可以分别对每一维进行操作,中间用逗号分隔

     最后再看一个图片举例

  • 相关阅读:
    小波变换的引入,通俗易懂
    Leetcode 437. Path Sum III
    Leetcode 113. Path Sum II
    Leetcode 112 Path Sum
    Leetcode 520 Detect Capital
    Leetcode 443 String Compression
    Leetcode 38 Count and Say
    python中的生成器(generator)总结
    python的random模块及加权随机算法的python实现
    leetcode 24. Swap Nodes in Pairs(链表)
  • 原文地址:https://www.cnblogs.com/RB26DETT/p/10971153.html
Copyright © 2020-2023  润新知