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 gensim库是什么?
pythongensim库是什么?gensim库在文本监控里,首先在稳定上,坚如磐石,不用担心稳定性问题,其次,时效性很强,执行能力很快,经常在最重要的...详情>>
2023-11-06 21:48:19python中getattr()是什么?
python中getattr()是什么?本文教程操作环境:windows7系统、Python3.9.1,DELLG3电脑。1、getattr()用来获取对象中的属性值;获取对象object的属...详情>>
2023-11-06 21:41:07python标识符如何使用?
python标识符如何使用?为了给编程中函数、类等进行区分,会赋予它们不同的名称。我们把这种命名叫做标识符,也可以理解为符号的标记。当然这种...详情>>
2023-11-06 21:33:55Python IDE之Thonny的介绍
pythonIDE之Thonny的介绍今天要介绍的IDE,可能没用过,甚至可能没听说过。叫Thonny,是塔尔图大学开发的,适合程序员新手。它的界面很容易使用...详情>>
2023-11-06 20:54:19热门推荐
如何使用python中的help函数?
沸如何使用python的callable函数?
热python gensim库是什么?
热python中xluntils库是什么?
新python中getattr()是什么?
python中的win32com库是什么?
python标识符如何使用?
如何使用python中schedule模块?
python中ruamel.yaml模块是什么?
defaultdict在python中计算键值的和
python sleep和wait对比分析
python中字符串转成数字的几种方法
python中SocketServer是什么?
python中如何使用@contextmanage?