05-利用切片取得子列表
4.1.3 利用切片取得子列表
就像索引可以从列表中取得单个值一样,“切片”可以从列表中取得多个值,结果是一个新列表。切片用一对方括号来表示它的起止,像索引一样,但它有两个由冒号分隔的整数。请注意索引和切片的不同。
spam[2]
是一个列表和索引(一个整数)。spam[1:4]
是一个列表和切片(两个整数)。
在一个切片中,第一个整数是切片开始处的索引。第二个整数是切片结束处的索引。切片向上增长,直至第二个索引的值,但不包括它。切片求值为一个新的列表值。在交互式环境中输入以下代码:
>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam[0:4]
['cat', 'bat', 'rat', 'elephant']
>>> spam[1:3]
['bat', 'rat']
>>> spam[0:-1]
['cat', 'bat', 'rat']
作为快捷方法,你可以省略切片中冒号两边的一个索引或两个索引。省略第一个索引相当于使用索引0或从列表的开始处开始。省略第二个索引相当于使用列表的长度,意味着切片直至列表的末尾。在交互式环境中输入以下代码:
>>> spam = ['cat', 'bat', 'rat', 'elephant']
>>> spam[:2]
['cat', 'bat']
>>> spam[1:]
['bat', 'rat', 'elephant']
>>> spam[:]
['cat', 'bat', 'rat', 'elephant']