Python机器学习原理与算法实现
上QQ阅读APP看书,第一时间看更新

1.5.2 切片(Slicing)

序列的切片就是将序列切成小的子序列,通过切片操作可以访问一定范围内的元素或者生成一个新的子序列。切片操作的基本语法格式为:

     sname[start : end : step]

其中,sname表示序列的名称;start表示切片的开始索引位置(包含该位置),也可不指定,默认为0,表示从序列的起始索引位置开始;end表示切片的结束索引位置(但不包括结束位置的元素),如果不指定,则默认为序列的长度;step表示切片的步长,每隔几个位置(包含当前位置)取一次元素,如果省略step的值,则默认步长为1,且最后一个冒号可以省略。

示例如下,在Spyder代码编辑区内输入以下代码并逐行运行:

     list = [1,3,5,7,9,11,13,15,17,19]
     print('查看列表前5项:',list[0:5]) # 此处的0也可省略,即list[:5]
     print('查看列表第2-4项:',list[1:4])         # 注意索引值4是列表的第5项,但是在这里是不包含索引值为4的元
素,所以输出不会包含第5项,是列表第2,3,4项,输出应该是[3,5,7]
     print('查看列表所有项,设置步长为2:',list[::2])         # 设置步长为2
     print('查看逆序排列的列表:',list[::-1])#设置步长为-1,即可实现逆序输出列表

可在IPython控制台看到如图1.40所示的运行结果。

图1.40 运行结果