>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
>>> L[0:3]
['Michael', 'Sarah', 'Tracy']

如果第一个索引是0,可以省略:

>>> L[:3]
['Michael', 'Sarah', 'Tracy']

Python支持倒数切片:

>>> L[-2:]
['Bob', 'Jack']
>>> L[-2:-1]
['Bob']

倒数第一个元素的索引是-1

Example

>>> L = list(range(100))
>>> L
[0, 1, 2, 3, ..., 99]

通过切片取出某一段数列。正向切片非常简单,不再赘述。

后10个数:

>>> L[-10:]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

前10个数,每两个取一个:

>>> L[:10:2]
[0, 2, 4, 6, 8]

所有数,每5个取一个:

>>> L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

只写[:]可以复制一个list:

>>> L[:]
[0, 1, 2, 3, ..., 99]

tuple也是一种list,唯一区别是tuple不可变。因此,tuple也可以用切片操作,操作的结果仍是tuple:

>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)