1、取一个list的部分元素是非常常见的操作,Python提供了切片(Slice)操作符
L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。
如果第一个索引是0,还可以省略:
也可以从索引1开始,取出2个元素出来:
只用一个 : ,表示从头到尾,因此,L[:]实际上复制出了一个新list。
切片操作还可以指定第三个参数:L[::2]
第三个参数表示每N个取一个,上面的 L[::2] 会每两个元素取出一个来,也就是隔一个取一个。
把list换成tuple,切片操作完全相同,只是切片的结果也变成了tuple。
L = [1, 2, 3, 4, 5]print L[0:3] #==> [1, 2, 3]
print L[:3] #==> [1, 2, 3]
print L[::2] #==> [1, 3, 5]
L = (1, 2, 3, 4, 5)print L[0:3] #==> (1, 2, 3)
print L[:3] #==> (1, 2, 3)
print L[::2] #==> (1, 3, 5)
2、倒序切片
对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片
L = [1, 2, 3, 4, 5]print L[:-3] #==> [1, 2]