NumPy是Python语言的一个扩展程序库。支持高阶大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。在进行大量数据计算中,NumPy会为我们提供很多的方便。最近我在学习CV方面的知识,却老是弄混冒号在切片的作用,就写一篇文章来加深一下印象。
一维数组
在一维数组中我们常见的表示方法有s[i:j] ,s[i:j:k],s[::-1]等等,下面我会依次实验一下各种符号的作用。
import numpy as np
# 生成一个0到9的np数组(注意跟数组一样,下标是从零开始)
a = np.arange(10)
# 打印数组
print("a={}".format(a))
# 取下标为1的元素到下标为8的元素(左闭右开)
b=a[1:8]
print("b={}".format(b))
# 开头省略意味着从起始位置开始取-1代表倒数第一个元素位置(左闭右开)
c=a[:-1]
print("c={}".format(c))
# 开头省略意味着从起始位置开始取-2代表倒数第二个元素位置(左闭右开)
d=a[:-2]
print("d={}".format(d))
# 从倒数第二个元素开始直到最后一个元素为止
e=a[-2:]
print("e={}".format(e))
# a[i:j:k]表示从i开始步长为k取到j元素为止
f= a[1:8:2]
print("f={}".format(f))
# s[::-1]是从最后一个元素到第一个元素反向复制一遍
g=a[::-1]
print("g={}".format(g))
输出:<