l[start:stop]
,得到下标在范围内前闭后开区间范围内的元素,为负数时看作负数对应的下标例如:
>>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[-100:5] [0, 1, 2, 3, 4] >>> a[5:100] [5, 6, 7, 8, 9] >>> a[-100:100] [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[100:1000] []
start
比stop
大,则得到空list例如:
>>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[:5] [0, 1, 2, 3, 4] >>> a[5:] [5, 6, 7, 8, 9] >>> a[100:] []
a[start:stop:step]
,从start
对应的位置出发,以step
为步长索引序列,直至越过stop
对应的位置,且不包括stop
本身step
为负数时,访问时逆序的,缺省时依旧是取尽可能大的区间例如:
>>> a [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> a[5::-1] [5, 4, 3, 2, 1, 0] >>> a[:4:-2] [9, 7, 5] >>> a[::-1]#得到逆序list [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
#截取数列前三个数 l = [1, 2, 3, 4] l[0:3] #表示从索引0开始取,到索引3为止,不包括索引3 l[:3] #若从0开始,可以省略 l[1:3] #从索引1开始,取两个元素 l[-2:] #从倒数第二个开始取到结尾 l[-2:-1] #取最后两个 l[:10:2] #表示前10个每两个取一个 l[:] #表示原样复制一个list #tuple也是list,不过不可变,切片后仍是tuple (0, 1, 2, 3)[:3] #结果:(0, 1, 2) #字符串也可以看成list,切片后仍是字符串 'ABCDEFG'[::2] #结果'ACEG'