网站没快照,艺术网站源码,更合网站设计,抖音91我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的#xff0c;索引号可以是正数由0开始从左向右#xff0c;也可以是负数由-1开始从右向左。在Python中对于具有序列结构的数据来说都可以使用切片操作#xff0c;需注意的是序列对象某个索引位置返回的是一个元…我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的索引号可以是正数由0开始从左向右也可以是负数由-1开始从右向左。在Python中对于具有序列结构的数据来说都可以使用切片操作需注意的是序列对象某个索引位置返回的是一个元素而切片操作返回是和被切片对象相同类型对象的副本。如下面的例子虽然都是一个元素但是对象类型是完全不同的 alist [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alist[0]0 alist[0:1][0]通常一个切片操作要提供三个参数 [start_index: stop_index: step]start_index是切片的起始位置stop_index是切片的结束位置(不包括)step可以不提供默认值是1步长值不能为0不然会报错ValueError。当 step 是正数时以list[start_index]元素位置开始 step做为步长到list[stop_index]元素位置(不包括)为止从左向右截取start_index和stop_index不论是正数还是负数索引还是混用都可以但是要保证 list[stop_index]元素的【逻辑】位置必须在list[start_index]元素的【逻辑】位置右边否则取不出元素。比如下面的几个例子都是合法的 alist [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alist[1:5][1, 2, 3, 4] alist[1:-1][1, 2, 3, 4, 5, 6, 7, 8] alist[-8:6][2, 3, 4, 5]当 step 是负数时以list[start_index]元素位置开始 step做为步长到list[stop_index]元素位置(不包括)为止从右向左截取start_index和stop_index不论是正数还是负数索引还是混用都可以但是要保证 list[stop_index]元素的【逻辑】位置必须在list[start_index]元素的【逻辑】位置左边否则取不出元素。比如下面的几个例子都是合法的 alist [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alist[-1: -5: -1][9, 8, 7, 6] alist[9: 5: -1][9, 8, 7, 6] alist[-1:1:-1][9, 8, 7, 6, 5, 4, 3, 2] alist[6:-8:-1][6, 5, 4, 3]假设list的长度(元素个数)是length, start_index和stop_index在符合虚拟的逻辑位置关系时start_index和stop_index的绝对值是可以大于length的。比如下面两个例子 alist [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alist[-11:11][0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alist[11:-11:-1][9, 8, 7, 6, 5, 4, 3, 2, 1, 0]另外start_index和stop_index都是可以省略的比如这样的形式 alist[:], 被省略的默认由其对应左右边界起始元素开始截取。看一下具体的实例 alist [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] alist[:][0, 1, 2, 3, 4, 5, 6, 7, 8, 9]