zoukankan      html  css  js  c++  java
  • Python的切片

    https://www.jianshu.com/p/15715d6f4dad

        a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
        b=a[1:6:-1]   #-1代表从右往左取值,最终取出来的b是个空的[]
        print(b)

        a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
        b=a[1:6:1]   #1代表从左往右取值,最终取出来的b是[1, 2, 3, 4, 5]
        print(b)

        a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
        b=a[1:6:2]   #2代表从右往左取值,步长是2,最终取出来的b是[1, 3, 5]
        print(b)

    这时对一维的列表操作,

    试一下二维的列表可不可以。【其实对二维数组也是有效的】

        a=np.random.randint(0,10,size=[6,3])
        print("a")
        print(a)
        b=a[1:6:1]
        print("b")
        print(b)

    输出结果:

    a
    [[7 7 9]
     [9 5 9]
     [6 3 6]
     [3 2 2]
     [6 9 2]
     [0 5 0]]
    b
    [[9 5 9]
     [6 3 6]
     [3 2 2]
     [6 9 2]
     [0 5 0]]

    下面是取出二维数组a的奇数行,并重新组建一个二维数组b:

        a=np.random.randint(0,10,size=[6,3])
        print("a")
        print(a)
        b=a[1:-1:2]
        print("b")
        print(b)

    运行结果:

    a
    [[6 9 9]
     [5 9 3]
     [5 3 6]
     [4 2 1]
     [1 5 5]
     [9 4 2]]
    b
    [[5 9 3]
     [4 2 1]]   #这里丢失了最后一行,所以该程序为:

        a=np.random.randint(0,10,size=[6,3])
        print("a")
        print(a)
        b=a[1::2]
        print("b")
        print(b)

    输出结果为:

    a
    [[6 5 9]
     [3 7 2]
     [3 7 4]
     [2 2 2]
     [8 0 0]
     [6 9 9]]
    b
    [[3 7 2]
     [2 2 2]
     [6 9 9]]

    可以完美解决问题。

  • 相关阅读:
    20170822xlVBA ExportCellPhone
    【C/C++】C++ warning: control reaches end of non-void function return
    【C/C++】例题3-5 生成元/算法竞赛入门经典/数组与字符串
    对象类型的参数传递
    对象的创建和使用
    方法的重载
    构造方法
    方法
    修饰符
    类的一般形式
  • 原文地址:https://www.cnblogs.com/chulin/p/10062655.html
Copyright © 2011-2022 走看看