一.

1.定义:
切片是切片截取指定对象、数据。

2.切片应用:
切片分为三部分:
①开始(start)
②结束(end)
③过程(step)

a.开始(start):定义切片的起始位置,若没有则默认从0开始到结束。
b.结束(end):定义切片的结束位置,但是是前闭后开------开头是啥就从啥开始切,结尾是啥值就那个值取不到,要往前一位(与for循环的取值范围相似),若没有定义则默认切到最后结束。
c.过程(step):定义步长(即输出列表中两数之间的差值),不写的话一般默认值为1,它的值为正时,表示从左往右切片,若为负数,则相反,从右往左。

3.各种情况:
情况1:situation[ ],里面什么都没有输入。
情况2:situation[start:]只有start,表示从start开始切到结束。
情况3:situation[:end]只有end,表示从0开始切到end。
情况4:situation[start:end]有start和end,表示从start开始切到end。
情况5:situation[start:end:step]三部分全都有,表示从start切到end每个间隔为step。

例:
情况1(里面什么都没有输入):例如:a[:],a[::],这两个是相同的,均表示从0开始到最后结束。
在这里插入图片描述

情况2(里面只输入一个数时,需要观看其位置,如果在分号“:”前,则表示开始位置;如果在分号“:”后,则表示结束位置):
例如:a[2:] (以输入“2”在分号“:”前面,表示从2开始切片)
a[:6] (输入“6”在分号“:”后面,表示到6结束,但是结尾与开头不一样(开头是什么数值就在哪开始切片),结尾取不到该数,即往前一位,而分号“:”前面没有输入数值,则默认从0开始切片)
a[::-1] (注意看这个数值前有两个分号,表示开头结尾都没有输入,那就剩下一个----步长,“-1”为负数,表示从后往前切)
在这里插入图片描述
a[::-1]由于step为-1,则默认为从右往左切片

情况4:
a[2:6] (输入两个数值,两个数值之间只有一个分号“:”,默认表示初始和结束位置,及从2切到6,但是结尾是开区间(取不到值)所以要往前一位,即从2切到5)
a[3:-2] (与第一个相类似,只是结尾变为负数,“-2”表示结尾到8,但是取不到,就往前一位到7,即从3切到7)
a[:3:-1] (还是两个数值,但是注意分号位置,第一个位置空,第二个位置是“3”,第三个位置是“-1”,表示从后往前切,“3”还是表示结尾位置,同样的“3”取不到,注意关键的是,现在是从后往前切,那么结尾就不是往前一位了,而是往后,所以是从9切到4)
a[3::-1] (两数值,分号在中间,那么第一位是“3”,第二位空,第三位是“-1”,那么就是从3开始切,但是第三位是“-1”,所以要从后往前,即从3切到0)
在这里插入图片描述
a[3:-2]表示下标为3到下标倒数第二个为止,即为列表中3到8。
a[3::-1]表示从右往左切片,数字为列表中的0到3。
a[:3:-1]表示从3之后开始切片,从右往左切。

情况5:
a[2:6:2] (三个数值,2开始切,步长是“2”正数,从前往后切,那么结尾就是6往前一位5,结果就是以步长为2从2开始切到5)
a[-1:-6:-1] (第一位是“-1”即从后往前第一位就是9,第二位是“-6”即从后往前第六位就是4,步长“-1”,从后往前切,那么结尾就是4往后一位5,结果就是从9切到5,步长为1)
在这里插入图片描述
a[-1:-6:-1]表示从-1(计列表中的9)开始,到-6(即列表中的4)结束(但是结尾取不到),切片方式为从右往左。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐