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中的add函数?
如何使用python中的add函数?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。add函数使用方法1、numpy中加法运算使用实例importnump...详情>>
2023-11-14 14:11:16python如何将九九乘法表写入到Excel?
python如何将九九乘法表写入到Excel?现在使用python去输出九九乘法表,已经不再稀奇,我们经常输出的环境是文本,但是今天教大家更为复杂一点的...详情>>
2023-11-14 12:11:28python中altair可视化库怎么用?
python中altair可视化库怎么用?作为六大python可视化库,基本上学会都是可以通吃任何领域的存在,本章要给大家介绍的Altair就是其中之一的可视...详情>>
2023-11-14 09:40:29python中最小二乘法如何理解?
python中最小二乘法如何理解?python中在实现一元线性回归时会使用最小二乘法,那你知道最小二乘法是什么吗。其实最小二乘法为分类回归算法的基...详情>>
2023-11-14 06:58:12热门推荐
如何使用python中的add函数?
沸python中dir函数如何使用?
热python中merge函数如何使用?
热python中str内置函数总结归纳
新python如何将九九乘法表写入到Excel?
Python的scikit-image模块是什么?
python timedelta函数是什么?
python中如何使用np.concatenate()拼接numpy数组
Python jieba库分词模式怎么用?
python中altair可视化库怎么用?
TCP在python中如何连接服务器?
python中使用__slots__定义类属性
python中的unittest框架是什么?
python字典获取对应键的方法