一、切片的定义:

        切片是用于切割可迭代对象(容器)的一种操作方法。

注意:切片操作并不是把原容器进行修改,而是返回的一个新容器或是获取原容器中的某个单值。

二、切片的两种基本用途:

1、切割对象获取单个元素值。

2、切割完整对象获取新容器。

eg:

ls = [1,2,3,4,5,6]
#切割对象获取单个元素值
#[ ]中给出对应元素角标即可
ls1 = ls[2]
#切割完整对象获取新容器
ls2 = ls[1,5,1]

三、切片的书写形式(格式)、具体含义、及其书写原则:

1、切片的书写形式(格式):

        一个完整(具体)的切片形式是包含一个中括号([ ]),两个冒号(:),三个参数(可为正负整数,结果为整数的表达式)。当然根据具体的使用情况也可以对冒号和参数进行省略。

格式:容器[参数1:参数2:参数3]

eg:

ls = [1,2,3,4,5,6]
ls[1,5,1]
ls[5:1:-1]
ls[1::-1]
ls[2 + 1:11 % 2:1 * 2]

2、具体含义:

(1)冒号:

        冒号是用于间隔参数的。

(2)参数:

        参数1与参数2是用于确定切割范围的(参数1为始范围,参数2为末范围,且范围为左闭右开),参数3是用于切割步长的(切割步长就是每隔几步割取一个值,eg:参数3为2就是取完范围的起始值后每隔一个值再割取一个值)。

3、书写原则:

(1)整数原则:

        无论正负,或是用表达式作参数,其值只能为整数。

(2)省略原则:

        一般情况下,我们在省略书写切片操作时为区分参数不省略第一个冒号,如果只有一个冒号,系统会默认其为第一个冒号进而对参数进行判定。

        一般情况下,省略确定范围的参数时系统会根据当前情况补边界值,而省略确定步长的参数时系统只会补“1”.

(3)方向一致原则:取范围的方向要与步长方向一致。

注意:

        取范围的方向要与步长方向不一致时(参数取值发生冲突时),系统不会报错但会返回空容器。

’        取范围时超过下标,系统也不会报错,系统会更改为边界值。

四、依据参数情况我将切片又分为这几类:

ls = [1,2,3,4,5,6]
#依据参数情况我将切片又分为这几类
    #正向切割
        ls2 = ls[1:4:1]
        ls[-5:-1:1]
        ls[1:-1:1]
        ls[-5:5:1]
        ls[1::1]
        ls[:5:1]
        ls[1:5]
    #逆向切割
        ls[5:1:-1]
        ls[-1:-5:-1]
        ls[5:-5:-1]
        ls[-1:1:-1]
        ls[1::-1]
        ls[:-1:-1]
    #省略切割
        ls[1::-1]
        ls[1::1]
        ls[:-1:-1]
        ls[:5:1]
        ls[1:5]
    #表达式切割
        ls[2 + 1:11 % 2:1 * 2]
        

五、连续切片:

类似于嵌套使用切片

eg:

ls = [1,2,3,4,5,6,7,8,9]
ls1 = ls[:6:1][1::1][2:4:1]
print(ls1)

输出为:[4,5]

六、与for循环中的range方法配用:

fange方法也确定了一个容器,同样也可以对该容器进行切片操作。

格式:range(参1,参2,参3)[参1:参2:参3]

eg:

for i in range(1,5,1)[1:4:1]:
    循环体

 

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐