python列表切片是什么
我们基本上都知道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]
以上内容为大家介绍了python培训之列表切片是什么,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。

猜你喜欢LIKE
相关推荐HOT
更多>>
python删除元素的使用条件
python删除元素的使用条件1、使用条件(1)函数remove()只删除指定的第一个值。如果想删除的值可能会在列表中出现多次,那么需要使用循环来确定是...详情>>
2023-11-13 22:37:06
python语句和缩进的实现
python语句和缩进的实现Python解释程序能够执行的指令就是语句。举例来说,a=1是一个赋值语句。if语句,for语句,while都是语句。1、概念(1)语...详情>>
2023-11-13 21:59:07
python如何读取全部的文件
python如何读取全部的文件说明1、文件路径可以是相对路径或绝对路径。2、Python很容易将文本文件的内容读取到字符串变量中进行处理,而file对象...详情>>
2023-11-13 20:38:40
python多行注释的方法整理
python多行注释的方法整理1、英文状态下使用单引号”””。'''python注释代码1python注释代码2python注释代码3python注释代码4'...详情>>
2023-11-13 18:42:41