全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货  >  Python技术干货  >  详情

python列表切片是什么

来源:千锋教育
发布人:xqq
2023-11-06

推荐

在线提问>>

我们基本上都知道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培训机构:千锋教育。

相关文章

如何使用python中的help函数?

如何使用python的callable函数?

python gensim库是什么?

python中xluntils库是什么?

python中getattr()是什么?

开班信息 更多>>

课程名称
全部学科
咨询

HTML5大前端

Java分布式开发

Python数据分析

Linux运维+云计算

全栈软件测试

大数据+数据智能

智能物联网+嵌入式

网络安全

全链路UI/UE设计

Unity游戏开发

新媒体短视频直播电商

影视剪辑包装

游戏原画

    在线咨询 免费试学 教程领取