在python的基础学习过程中,总绕不开这三个词,而且当你学习完后会发现特别有用,比如一个列表,分片就是得到其中的某一段,步长是取值方法(相隔多少个取值),索引是取第几个
索引:
l=[1,2,3,4,5,6,7,8,9]
l[0] 第一个索引为0,第二个为1,以此类推,此时为1
l[-1] 最后一个索引为-1,倒数第二个为-2,以此类推,此时为9
l[4] 此时为5
分片:需要指定分片的开始和结尾,前要后不要
l=[1,2,3,4,5,6,7,8,9]
l[0:4] 从索引为0的到索引为3的,注意索引为4的不要,此时为[1,2,3,4]
l[:5] 未指定开头或者结尾时,一律取到第一个或者从后一个,此时为[1,2,3,4,5]
l[7:] [8,9]
l[:] [1,2,3,4,5,6,7,8,9],通常用这种方法来生成一个和l内容相同的列表,但是两个列表不是同一对象
步长:
l=[1,2,3,4,5,6,7,8,9]
步长为n,相隔n个数取值,默认为1,所以就相隔0个数取值,就是连续取
l[1:8:2] 这里的2就是步长,相隔1个数取值,此时为[2,4,6,8]
l[::3] 从头到尾,相隔2个数取值,[1,4,7]
l[::-3] 这里的步长是负数,表示从尾部开始计算,相隔两个数取值,[9,6,3]
但是这里必须要注意的是,当步长为正数时,开始的数必须出现在结尾的数之前,当步长为负数时,结尾的数必须出现在开始的数之前,不然得到的就是空列表
l[a:b:n]
if n>0:
b的索引值必须必比a大
if n<0:
b的索引值必须必比a小
l[1:5:2] [2,4]
l[1:5:-2] []
l[-1:4:-2] [9,7]
l[-1:4:2] []
敲黑板了,这是重点
深刻理解分片步长索引非常重要,可以对列表元组字符串灵活取值,实际当中非常有用。