zoukankan      html  css  js  c++  java
  • 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]]
    #对于多维数组也是一样的,可以分别对每一维进行操作,中间用逗号分隔

     最后再看一个图片举例

  • 相关阅读:
    IntelliJ Idea 常用快捷键列表
    JSON,字符串,MAP转换
    学习总是无效,是因为你没有稳定的输出系统
    华为离职副总裁徐家骏:透露年薪千万的工作感悟,太震撼了!
    Junit测试Spring应用Dubbo测试框架之-Excel 工具类
    Junit参数化测试Spring应用Dubbo接口
    TestNG参数化测试Spring应用Dubbo接口
    TestNG测试报告美化
    TestNG系列之四: TestNg依赖 dependsOnMethods
    【Java】Java_08 字符型与布尔值
  • 原文地址:https://www.cnblogs.com/RB26DETT/p/10971153.html
Copyright © 2011-2022 走看看